0% found this document useful (0 votes)
90 views12 pages

zcs01 BDC Text

Download as txt, pdf, or txt
Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1/ 12

REPORT ZZPRG.

TABLES: SSCRFIELDS.

DATA: BEGIN OF GIT_ITAB ,


MATNR TYPE RC29N-MATNR,"C,
WERKS(4) TYPE C,
STLAN(1) TYPE C,
STLAL(5) TYPE C,
DATUV(10) TYPE C,
BMENG(13) TYPE C,
POSNR(4) TYPE C,
IDNRK(40) TYPE C,
MENGE(13) TYPE C,
MEINS(3) TYPE C,
AUSCH(18) TYPE C ,
POTX1(25) TYPE C,
POTX2(25) TYPE C,
LGORT(25) TYPE C,
SORTF(10) TYPE C,
END OF GIT_ITAB.

DATA: POSNR TYPE STRING.

*Internal Table For Downloading Text File(In Table Format)


DATA: GIT_TABLE LIKE TABLE OF GIT_ITAB WITH HEADER LINE.

DATA : IT_EXCEL TYPE STANDARD TABLE OF ALSMEX_TABLINE,


WA_EXCEL TYPE ALSMEX_TABLINE.

*Internal Table for Header Data.

DATA: BEGIN OF GIT_HEADER_DATA OCCURS 0, "Header Data


MATNR TYPE RC29N-MATNR,"C,
WERKS(4) TYPE C,
STLAN(1) TYPE C,
STLAL(5) TYPE C,
DATUV(10) TYPE C,
BMENG(13) TYPE C,
END OF GIT_HEADER_DATA.

*Internal Table for Item Data .


DATA: BEGIN OF GIT_ITEM_DATA OCCURS 0, "Item Data
MATNR TYPE RC29N-MATNR,"C,
WERKS(4) TYPE C,
STLAN(1) TYPE C, "BOM Usage
STLAL(5) TYPE C,
DATUV(10) TYPE C, "Valid-From Date
BMENG(12) TYPE C, "Confirmed Quantity
POSNR(4) TYPE C, "Item number
IDNRK(40) TYPE C, "BOM component
MENGE(13) TYPE C, "Quantity of Material
POSTP(1) TYPE C, "Item Category (Bill of Material)
MEINS(3) TYPE C, "Base Unit of Measure
AUSCH(18) TYPE C , "Bid invitation number
POTX1(25) TYPE C, "BOM Item Text (Line 1)
POTX2(25) TYPE C, "BOM Item Text (Line 2)
LGORT(25) TYPE C, "Storage Location
SORTF(10) TYPE C, "Storage Location
END OF GIT_ITEM_DATA.

DATA: BEGIN OF GIT_MARA OCCURS 0,


MATNR TYPE MARA-MATNR,
MEINS TYPE MARA-MEINS,
END OF GIT_MARA.

DATA: BEGIN OF GIT_ERROR_FILE OCCURS 0.


INCLUDE STRUCTURE GIT_ITAB.
DATA: TEXT(100).
DATA : MSGTY TYPE SY-MSGTY.
DATA: END OF GIT_ERROR_FILE.

*Internal Table For BDCDATA.


DATA: BEGIN OF GIT_BDCDATA OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF GIT_BDCDATA.

*Internal Table BDCDATA Error Messages


DATA: BEGIN OF GIT_BDCMESSAGE OCCURS 0.
INCLUDE STRUCTURE BDCMSGCOLL.
DATA: END OF GIT_BDCMESSAGE.

DATA: GWA_H LIKE GIT_TABLE,


GWA_I LIKE GIT_TABLE,

**WORK AREA for Inserting data into table Control


GWA_ITEM LIKE GIT_ITEM_DATA,
GWA_HEAD LIKE GIT_HEADER_DATA,
GWA_EMPTY LIKE GIT_TABLE.

DATA: GV_REC_CNT(2) TYPE N,


GV_POSNR(18) TYPE C,
GV_IDNRK(40) TYPE C,
GV_MENGE(18) TYPE C,
GV_MEINS(18) TYPE C,
GV_POSTP(18) TYPE C ,
GV_AUSCH(18) TYPE C ,
GV_POTX1(18) TYPE C,
GV_POTX2(18) TYPE C,
LGORT(25) TYPE C,
GV_SORTF(25) TYPE C.

DATA: GWA_V_TEXT(100),
GWA_V_V1 LIKE BALM-MSGV1,
GWA_V_V2 LIKE BALM-MSGV2,
GWA_V_V3 LIKE BALM-MSGV3,
GWA_V_V4 LIKE BALM-MSGV4,
GT_MAT(18) TYPE C.

DATA: BEGIN OF IT_ERROR OCCURS 0,


ERROR TYPE STRING,
END OF IT_ERROR.
DATA: BEGIN OF IT_SUCCESS OCCURS 0,
SUCCESS TYPE STRING,
END OF IT_SUCCESS.
DATA: STR6 TYPE STRING.
DATA: BEGIN OF I_MAT OCCURS 0,""*********************
MATNR TYPE MATNR,
END OF I_MAT,
BEGIN OF IT_T001W OCCURS 0,
WERKS TYPE WERKS_D,
END OF IT_T001W,
BEGIN OF IT_T416 OCCURS 0,
STLAN TYPE T416-STLAN,
END OF IT_T416,
BEGIN OF IT_MARC OCCURS 0,
WERKS TYPE WERKS_D,
MATNR TYPE MATNR,
END OF IT_MARC ,
BEGIN OF IT_T006 OCCURS 0,
MEINS TYPE MSEHI,
END OF IT_T006 .
DATA : STR2 TYPE STRING.

SELECTION-SCREEN: BEGIN OF BLOCK A1 WITH FRAME TITLE TEXT-001.


PARAMETERS: P_FNAME TYPE RLGRAP-FILENAME OBLIGATORY , ".""DEFAULT 'D:\SAP_Data\
Equipment_Master_IE01.xls'.
P_MODE LIKE CTU_PARAMS-DISMODE DEFAULT 'A',
P_UPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L' NO-DISPLAY.

SELECTION-SCREEN: END OF BLOCK A1 .

* Declaration of sel screen buttons


SELECTION-SCREEN SKIP.

INITIALIZATION.

AT SELECTION-SCREEN.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FNAME.

CALL FUNCTION 'F4_FILENAME'


EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ''
IMPORTING
FILE_NAME = P_FNAME.

PERFORM GET_DATA_FILE.
* PERFORM VALIDATE_DATA.

************************************************************************
* S T A R T O F S E L E C T I O N
************************************************************************
START-OF-SELECTION.
PERFORM DISTRIBUTE_DATA.
************************************************************************
* E N D O F S E L E C T I O N
************************************************************************
PERFORM CALL_TRANSACTION.
PERFORM DISPLAY_ERROR.
END-OF-SELECTION.

************************************************************************
* F O R M S
************************************************************************
*&---------------------------------------------------------------------*
*& Form GET_DATA_FILE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DATA_FILE .
***************
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FNAME
I_BEGIN_COL = 1
I_BEGIN_ROW = 3
I_END_COL = 14
I_END_ROW = 99999
TABLES
INTERN = IT_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.

LOOP AT IT_EXCEL INTO WA_EXCEL.


* BREAK-POINT.
* SELECT SINGLE matnr from mast INTO @DATA(lv_matnr) WHERE matnr = @wa_excel-
value.
* if sy-subrc eq 4.
* MESSAGE 'Excel already uploaded' TYPE 'E'.
* ENDIF.
CASE WA_EXCEL-COL .
**Material
WHEN '1'.
GIT_TABLE-MATNR = WA_EXCEL-VALUE.
**Plant
WHEN '2'.
GIT_TABLE-WERKS = WA_EXCEL-VALUE.
*BOM Usage
WHEN '3'.
GIT_TABLE-STLAN = WA_EXCEL-VALUE.
*"STLAL
WHEN '4'.
GIT_TABLE-STLAL = WA_EXCEL-VALUE.
*Valid From
WHEN '5'.
GIT_TABLE-DATUV = WA_EXCEL-VALUE.
*Base Qty
WHEN '6'.
GIT_TABLE-BMENG = WA_EXCEL-VALUE.
*BOM Item No
WHEN '7'.
GIT_TABLE-POSNR = WA_EXCEL-VALUE.
POSNR = WA_EXCEL-VALUE.
IF STRLEN( POSNR ) > 4.
SY-MSGTY = 'E'.
CONCATENATE SY-MSGTY '. ' 'BOM Item No ' POSNR ' length is Invalid i.e
Greater than 4' INTO STR6.
IT_ERROR-ERROR = STR6.
APPEND IT_ERROR.
ENDIF.
*Component
WHEN '8'.
GIT_TABLE-IDNRK = WA_EXCEL-VALUE.
*Comp.Qty
WHEN '9'.
GIT_TABLE-MENGE = WA_EXCEL-VALUE.
**UOM
WHEN '10'.
GIT_TABLE-MEINS = WA_EXCEL-VALUE.
**TEXT1
WHEN '12'.
GIT_TABLE-POTX1 = WA_EXCEL-VALUE.
**SORT STRING
WHEN '15'.
GIT_TABLE-SORTF = WA_EXCEL-VALUE.
ENDCASE.

AT END OF ROW.
APPEND GIT_TABLE.
* APPEND wa_file TO it_file.
CLEAR GIT_TABLE.
ENDAT .

ENDLOOP.

*** LOOP AT GIT_TABLE.


*** CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
*** EXPORTING
*** INPUT = GIT_TABLE-MATNR
*** IMPORTING
*** OUTPUT = GIT_TABLE-MATNR.
***
*** CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
*** EXPORTING
*** INPUT = GIT_TABLE-POSNR
*** IMPORTING
*** OUTPUT = GIT_TABLE-POSNR.
***
*** MODIFY GIT_TABLE.
*** ENDLOOP.
ENDFORM. " GET_DATA_FILE

*&---------------------------------------------------------------------*
*& Form VALIDATE_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM VALIDATE_DATA.
REFRESH : IT_ERROR.
CLEAR : IT_ERROR.
PERFORM PLT_VAL.
PERFORM STLAN_VAL.
** PERFORM COMB_VAL. "Commented BY Akhtar 10.12.2014
PERFORM UNIT_VAL.
ENDFORM. "VALIDATE_DATA
*&---------------------------------------------------------------------*
*& Form DISTRIBUTE_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISTRIBUTE_DATA .

SORT GIT_TABLE BY MATNR WERKS STLAN.

LOOP AT GIT_TABLE INTO GWA_H.


GWA_I = GWA_H.
ON CHANGE OF GWA_H-MATNR
OR GWA_H-WERKS
OR GWA_H-STLAN.

MOVE-CORRESPONDING GWA_I TO GIT_HEADER_DATA.


APPEND GIT_HEADER_DATA.
ENDON.

MOVE-CORRESPONDING GWA_H TO GIT_ITEM_DATA.


APPEND GIT_ITEM_DATA.
ENDLOOP.
ENDFORM. " DISTRIBUTE_DATA

*&---------------------------------------------------------------------*
*& Form PLT_VAL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM PLT_VAL .
SELECT WERKS FROM T001W INTO TABLE IT_T001W.
LOOP AT GIT_TABLE.
READ TABLE IT_T001W WITH KEY WERKS = GIT_TABLE-WERKS.
IF SY-SUBRC <> 0.
SY-MSGTY = 'E'.
CONCATENATE SY-MSGTY '. ' ' Plant: ' GIT_TABLE-WERKS ' is invalid. ' INTO
STR2.
IT_ERROR-ERROR = STR2.
APPEND IT_ERROR.
ENDIF.
ENDLOOP.
ENDFORM. " PLT_VAL

*&---------------------------------------------------------------------*
*& Form STLAN_VAL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM STLAN_VAL.
SELECT STLAN FROM T416 INTO TABLE IT_T416.
LOOP AT GIT_TABLE.
READ TABLE IT_T416 WITH TABLE KEY STLAN = GIT_TABLE-STLAN .
IF SY-SUBRC <> 0.
SY-MSGTY = 'E'.
CONCATENATE SY-MSGTY '. ' 'BOM Usage...' GIT_TABLE-STLAN ' is Invalid' INTO
STR6.
IT_ERROR-ERROR = STR6.
APPEND IT_ERROR.
ENDIF.
ENDLOOP.

ENDFORM. "STLAN_VAL

*&---------------------------------------------------------------------*
*& Form unit_val
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM UNIT_VAL.
SELECT MSEHI FROM T006 INTO TABLE IT_T006.
ENDFORM. "unit_val

*&---------------------------------------------------------------------*
*& Form FILL_SUCCESS_LOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM FILL_SUCCESS_LOG .
DELETE ADJACENT DUPLICATES FROM IT_SUCCESS.
READ TABLE IT_SUCCESS.
IF SY-SUBRC = 0.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'E:/Success_Log_BOM.txt' "LOG_FL
FILETYPE = 'DAT'
TABLES
DATA_TAB = IT_SUCCESS
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22.
MESSAGE I207(ZPPMSG).
LEAVE PROGRAM.
ENDIF.
ENDFORM. "FILL_SUCCESS_LOG
*&---------------------------------------------------------------------*
*& Form CALL_TRANSACTION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CALL_TRANSACTION .
SORT GIT_HEADER_DATA BY MATNR.

CLEAR: GIT_HEADER_DATA,
GIT_ITEM_DATA.

LOOP AT GIT_HEADER_DATA INTO GWA_HEAD.


REFRESH GIT_BDCDATA.
GWA_HEAD-MATNR = |{ GWA_HEAD-MATNR ALPHA = OUT }|.

GV_REC_CNT = 01 .
* SELECT SINGLE MATNR FROM MAST INTO @DATA(LV_MAST) WHERE MATNR = @GWA_HEAD-
MATNR.
* IF SY-SUBRC EQ 4.
* MESSAGE 'Excel already Uploaded' TYPE 'E'.
* ENDIF.

PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0100'.


PERFORM BDC_FIELD USING 'BDC_CURSOR' 'RC29N-AENNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
PERFORM BDC_FIELD USING 'RC29N-MATNR' GWA_HEAD-MATNR.
PERFORM BDC_FIELD USING 'RC29N-WERKS' GWA_HEAD-WERKS.
PERFORM BDC_FIELD USING 'RC29N-STLAN' GWA_HEAD-STLAN.
PERFORM BDC_FIELD USING 'RC29N-STLAL' GWA_HEAD-STLAL. "added
by Abhishek
PERFORM BDC_FIELD USING 'RC29N-DATUV' GWA_HEAD-DATUV.

PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0110'.


PERFORM BDC_FIELD USING 'BDC_CURSOR' 'RC29K-BMENG'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
PERFORM BDC_FIELD USING 'RC29K-BMENG' GWA_HEAD-BMENG.

PERFORM BDC_FIELD USING 'RC29K-STLST' '1'.

PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0111'.


PERFORM BDC_FIELD USING 'BDC_CURSOR' 'RC29K-LABOR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
PERFORM BDC_FIELD USING 'RC29K-LABOR' ''.

LOOP AT GIT_ITEM_DATA INTO GWA_ITEM


WHERE MATNR = GWA_HEAD-MATNR
AND WERKS = GWA_HEAD-WERKS
AND STLAN = GWA_HEAD-STLAN.

PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.


PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=FCNP'.

PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.


PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.

PERFORM FILL_TABLECONTROL.

GWA_ITEM-POSTP = 'L'.
GV_REC_CNT = 01 .
PERFORM BDC_FIELD USING:
GV_POSNR GWA_ITEM-POSNR,
GV_IDNRK GWA_ITEM-IDNRK,
GV_MENGE GWA_ITEM-MENGE,
GV_POSTP GWA_ITEM-POSTP,
GV_MEINS GWA_ITEM-MEINS,
GV_SORTF GWA_ITEM-SORTF.

PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0130'.


PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'RC29P-AUSCH'.
PERFORM BDC_FIELD USING 'RC29P-AUSCH' GWA_ITEM-AUSCH.
PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0131'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'RC29P-POTX1'.
PERFORM BDC_FIELD USING 'RC29P-POTX1' GWA_ITEM-POTX1.
PERFORM BDC_FIELD USING 'RC29P-POTX2' GWA_ITEM-POTX2.
PERFORM BDC_FIELD USING 'RC29P-LGORT' GWA_ITEM-LGORT.
PERFORM BDC_FIELD USING 'RC29P-SANKA' 'X'.
GV_REC_CNT = GV_REC_CNT + 01.
IF GV_REC_CNT GT 02.
GV_REC_CNT = 02.
ENDIF.
ENDLOOP.

CLEAR GV_REC_CNT.

PERFORM BDC_DYNPRO USING 'SAPLCSDI' '0140'.


PERFORM BDC_FIELD USING 'BDC_OKCODE' '=FCBU'.
*BREAK-POINT.
CALL TRANSACTION 'CS01' USING GIT_BDCDATA UPDATE 'S' MODE P_MODE MESSAGES INTO
GIT_BDCMESSAGE.

CLEAR GIT_BDCMESSAGE.
*BREAK-POINT.
LOOP AT GIT_BDCMESSAGE. "WHERE msgtyp = 'E'.
MOVE: GIT_BDCMESSAGE-MSGV1 TO GWA_V_V1,
GIT_BDCMESSAGE-MSGV2 TO GWA_V_V2,
GIT_BDCMESSAGE-MSGV3 TO GWA_V_V3,
GIT_BDCMESSAGE-MSGV4 TO GWA_V_V4.

CALL FUNCTION 'MESSAGE_PREPARE'


EXPORTING
LANGUAGE = SY-LANGU
MSG_ID = GIT_BDCMESSAGE-MSGID
MSG_NO = GIT_BDCMESSAGE-MSGNR
MSG_VAR1 = GWA_V_V1
MSG_VAR2 = GWA_V_V2
MSG_VAR3 = GWA_V_V3
MSG_VAR4 = GWA_V_V4
IMPORTING
MSG_TEXT = GWA_V_TEXT
EXCEPTIONS
FUNCTION_NOT_COMPLETED = 1
MESSAGE_NOT_FOUND = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
ENDIF.
* ----------------MESSAGE

DATA : BEGIN OF E_MSG OCCURS 0,


MSGV1 TYPE CHAR20, "MATNR_D,
MSGV2 TYPE CHAR20, "MATNR_D,
MSGV3(180) TYPE C, "SY-MSGV3,
END OF E_MSG.

MOVE-CORRESPONDING GWA_ITEM TO GIT_ERROR_FILE.


MOVE GWA_ITEM-MATNR TO GT_MAT.
CONCATENATE '' GWA_V_TEXT INTO GWA_V_TEXT.
GIT_ERROR_FILE-MSGTY = GIT_BDCMESSAGE-MSGTYP.
MOVE GWA_V_TEXT TO GIT_ERROR_FILE-TEXT.
APPEND GIT_ERROR_FILE.
CLEAR GWA_V_TEXT.
ENDLOOP.
CLEAR: GIT_ERROR_FILE,GIT_BDCDATA.
REFRESH: GIT_BDCDATA,GIT_BDCMESSAGE.

ENDLOOP.
REFRESH E_MSG[].
READ TABLE GIT_ERROR_FILE WITH KEY MSGTY = 'S'.
IF SY-SUBRC = 0.
E_MSG-MSGV1 = 'Success Report'.
APPEND E_MSG.
CLEAR E_MSG.
APPEND E_MSG.
SORT GIT_ERROR_FILE BY MSGTY DESCENDING.
LOOP AT GIT_ERROR_FILE WHERE MSGTY = 'S'.
E_MSG-MSGV1 = GIT_ERROR_FILE-MATNR.
E_MSG-MSGV2 = GIT_ERROR_FILE-IDNRK.
E_MSG-MSGV3 = GIT_ERROR_FILE-TEXT.
APPEND E_MSG.
CLEAR E_MSG.
ENDLOOP.
ENDIF.
READ TABLE GIT_ERROR_FILE WITH KEY MSGTY = 'E'.
IF SY-SUBRC = 0.
APPEND E_MSG.
E_MSG-MSGV1 = 'Error Report'.
APPEND E_MSG.
CLEAR E_MSG.
APPEND E_MSG.
LOOP AT GIT_ERROR_FILE WHERE MSGTY = 'E'.
E_MSG-MSGV1 = GIT_ERROR_FILE-MATNR.
E_MSG-MSGV2 = GIT_ERROR_FILE-IDNRK.
E_MSG-MSGV3 = GIT_ERROR_FILE-TEXT.
APPEND E_MSG.
CLEAR E_MSG.
ENDLOOP.
ENDIF.
IF E_MSG[] IS NOT INITIAL.
CALL FUNCTION 'POPUP_WITH_TABLE'
EXPORTING
ENDPOS_COL = 132
ENDPOS_ROW = 21
STARTPOS_COL = 1
STARTPOS_ROW = 3
TITLETEXT = SY-REPID
TABLES
VALUETAB = E_MSG
EXCEPTIONS
OTHERS = 0.
ENDIF.

ENDFORM. " CALL_TRANSACTION


*&---------------------------------------------------------------------
*& Form call_screen
*&---------------------------------------------------------------------
* Filling Data Into BDC Table IT_BDCDATA for Screen 100 and 200
*----------------------------------------------------------------------
FORM BDC_DYNPRO USING PROGRAM TYPE ANY "Program
SCREEN TYPE ANY. "Dynpro

CLEAR GIT_BDCDATA.
GIT_BDCDATA-PROGRAM = PROGRAM.
GIT_BDCDATA-DYNPRO = SCREEN.
GIT_BDCDATA-DYNBEGIN = 'x'.

APPEND GIT_BDCDATA.

ENDFORM. " call_screen


*&---------------------------------------------------------------------
*& Form insert_val
*&---------------------------------------------------------------------
* Filling Data Into BDC Table IT_BDCDATA From IT-TEXT
*----------------------------------------------------------------------

FORM BDC_FIELD USING FNAME TYPE ANY "Field name (value(p_0509))


FVAL TYPE ANY. "Field Value (p_header_data_lifnr)

CLEAR GIT_BDCDATA.

GIT_BDCDATA-FNAM = FNAME.
GIT_BDCDATA-FVAL = FVAL.
APPEND GIT_BDCDATA.

ENDFORM. " insert_val


*&---------------------------------------------------------------------*
*& Form FILL_TABLECONTROL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FILL_TABLECONTROL .
CONCATENATE 'RC29P-POSNR' '(' GV_REC_CNT ')' INTO GV_POSNR.
CONCATENATE 'RC29P-IDNRK' '(' GV_REC_CNT ')' INTO GV_IDNRK.
CONCATENATE 'RC29P-MENGE' '(' GV_REC_CNT ')' INTO GV_MENGE.
CONCATENATE 'RC29P-POSTP' '(' GV_REC_CNT ')' INTO GV_POSTP.
CONCATENATE 'RC29P-MEINS' '(' GV_REC_CNT ')' INTO GV_MEINS.
CONCATENATE 'RC29P-SORTF' '(' GV_REC_CNT ')' INTO GV_SORTF.
ENDFORM. " FILL_TABLECONTROL

*&---------------------------------------------------------------------*
*& Form DISPLAY_ERROR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_ERROR .

ENDFORM. " DISPLAY_ERROR

You might also like