on 10-14-2020 12:12 PM
HI all ,,,
How To Make an excel sheet or File by vertical For each Sales Order .
i created program bdc for sales order, the program work good but I have more line item and I want in my sheet put the item by vertical .
For Example
I want Make my sheet like this
below my code what can I do .
no standard page heading line-size 255.
* Include bdcrecx1_s:
* The call transaction using is called WITH AUTHORITY-CHECK!
* If you have own auth.-checks you can use include bdcrecx1 instead.
*----------------------------------------------------------------------*
* data definition
*----------------------------------------------------------------------*
* Batchinputdata of single transaction
DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
* messages of call transaction
DATA: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
* error session opened (' ' or 'X')
DATA: E_GROUP_OPENED.
* message texts
TABLES: T100.
TYPES : BEGIN OF STR ,
AUART TYPE AUART ,
KUNNR TYPE KUNNR ,
KWMENG TYPE STRING ,
MABNR TYPE STRING ,
KWMENG1 TYPE STRING ,
MABNR1 TYPE STRING ,
END OF STR .
DATA : LT TYPE TABLE OF STR ,
WA TYPE STR.
PARAMETERS : P TYPE IBIPPARMS-PATH .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
* FIELD_NAME = ' '
IMPORTING
FILE_NAME = P
.
DATA : LV_F TYPE STRING .
LV_F = P .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = LV_F
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = LT
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
start-of-selection.
LOOP AT LT INTO WA .
perform bdc_dynpro using 'SAPMV45A' '0101'.
perform bdc_field using 'BDC_CURSOR'
'VBAK-AUART'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'VBAK-AUART'
WA-AUART.
perform bdc_dynpro using 'SAPMV45A' '4001'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'KUAGV-KUNNR'.
perform bdc_field using 'KUAGV-KUNNR'
WA-KUNNR.
perform bdc_field using 'RV45A-KETDAT'
'14.10.2020'.
perform bdc_field using 'RV45A-KPRGBZ'
'D'.
perform bdc_field using 'VBKD-PRSDT'
'14.10.2020'.
perform bdc_dynpro using 'SAPMV45A' '4001'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'KUAGV-KUNNR'
'1000219'.
perform bdc_field using 'KUWEV-KUNNR'
'1000219'.
perform bdc_field using 'RV45A-KETDAT'
'14.10.2020'.
perform bdc_field using 'RV45A-KPRGBZ'
'D'.
perform bdc_field using 'VBKD-PRSDT'
'14.10.2020'.
perform bdc_field using 'BDC_CURSOR'
'RV45A-MABNR(01)'.
perform bdc_field using 'RV45A-MABNR(01)'
WA-MABNR.
perform bdc_field using 'RV45A-KWMENG(01)'
WA-KWMENG.
perform bdc_dynpro using 'SAPMV45A' '4001'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'KUAGV-KUNNR'
'1000219'.
perform bdc_field using 'KUWEV-KUNNR'
'1000219'.
perform bdc_field using 'RV45A-KETDAT'
'14.10.2020'.
perform bdc_field using 'RV45A-KPRGBZ'
'D'.
perform bdc_field using 'VBKD-PRSDT'
'14.10.2020'.
perform bdc_field using 'BDC_CURSOR'
'RV45A-MABNR(02)'.
perform bdc_field using 'RV45A-MABNR(02)'
WA-MABNR1.
perform bdc_field using 'RV45A-KWMENG(02)'
WA-KWMENG1.
perform bdc_dynpro using 'SAPMV45A' '4001'.
perform bdc_field using 'BDC_OKCODE'
'=SICH'.
perform bdc_field using 'KUAGV-KUNNR'
'1000219'.
perform bdc_field using 'KUWEV-KUNNR'
'1000219'.
perform bdc_field using 'RV45A-KETDAT'
'14.10.2020'.
perform bdc_field using 'RV45A-KPRGBZ'
'D'.
perform bdc_field using 'VBKD-PRSDT'
'14.10.2020'.
perform bdc_field using 'BDC_CURSOR'
'RV45A-MABNR(02)'.
perform bdc_dynpro using 'SAPLSPO2' '0101'.
perform bdc_field using 'BDC_OKCODE'
'=OPT1'.
perform bdc_transaction using 'VA01'.
ENDLOOP .
*perform close_group.
*----------------------------------------------------------------------*
* Start new transaction according to parameters *
*----------------------------------------------------------------------*
FORM BDC_TRANSACTION USING TCODE.
DATA: L_MSTRING(480).
DATA: L_SUBRC LIKE SY-SUBRC.
DATA: lx_auth_check TYPE REF TO cx_root.
DATA: l_auth_check_text TYPE string.
REFRESH MESSTAB.
TRY.
CALL TRANSACTION TCODE WITH AUTHORITY-CHECK USING BDCDATA
MODE 'A'
UPDATE 'S'
MESSAGES INTO MESSTAB.
CATCH cx_sy_authorization_error INTO lx_auth_check.
* Authorization missing for user when executing transaction
l_auth_check_text = lx_auth_check->get_text( ).
SY-SUBRC = 99.
ENDTRY.
WRITE: / 'CALL_TRANSACTION',
TCODE,
'returncode:'(I05),
L_SUBRC,
'RECORD:',
SY-INDEX.
IF L_SUBRC <> 99.
LOOP AT MESSTAB.
MESSAGE ID MESSTAB-MSGID
TYPE MESSTAB-MSGTYP
NUMBER MESSTAB-MSGNR
INTO L_MSTRING
WITH MESSTAB-MSGV1
MESSTAB-MSGV2
MESSTAB-MSGV3
MESSTAB-MSGV4.
WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).
ENDLOOP.
ELSE.
WRITE: / l_auth_check_text.
ENDIF.
REFRESH BDCDATA.
ENDFORM.
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> SPACE.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM.
perform bdc_transaction using 'VA01'.
ENDLOOP .
You need to change this.
Maybe create another table from WA. Containing the list of possible Sales Order.
loop at Sales_order ...
loop at wa ...
...
endloop.
perform bdc_transaction using 'VA01'.
endloop.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.