‎2005 Jun 06 11:25 PM
Hi,
I have used 'include z2bdcrecx1', which I am sending now. I wants to display only session method parameters in the selection screen. I donot want call transaction parameters in the selection screen display.
What i should do about SMALLLOG and Nodata indicator.
I commented the code and when I execute nothing is comming out.
Please help me, what i am doing wrong in this.
Thanks
Neelu.
***INCLUDE ZBDCRECX1.
for programs doing a data transfer by creating a batch-input session
and
for programs doing a data transfer by CALL TRANSACTION USING
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS SESSION. "RADIOBUTTON GROUP CTU. "create session
SELECTION-SCREEN COMMENT 3(20) TEXT-S07 FOR FIELD SESSION.
*selection-screen position 45.
*PARAMETERS CTU RADIOBUTTON GROUP CTU. "call transaction
*SELECTION-SCREEN COMMENT 48(20) TEXT-S08 FOR FIELD CTU.
SELECTION-SCREEN END OF LINE.
*
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) TEXT-S01 FOR FIELD GROUP.
selection-screen position 25.
PARAMETERS GROUP(12). "group name of session
*SELECTION-SCREEN COMMENT 48(20) TEXT-S05 FOR FIELD CTUMODE.
*selection-screen position 70.
*PARAMETERS CTUMODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.
*"A: show all dynpros
*"E: show dynpro on error only
*"N: do not display dynpro
SELECTION-SCREEN END OF LINE.
*
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) TEXT-S02 FOR FIELD USER.
selection-screen position 25.
PARAMETERS: USER(12) DEFAULT SY-UNAME. "user for session in batch
*SELECTION-SCREEN COMMENT 48(20) TEXT-S06 FOR FIELD CUPDATE.
*selection-screen position 70.
*PARAMETERS CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L'.
*"S: synchronously
*"A: asynchronously
*"L: local
SELECTION-SCREEN END OF LINE.
*
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) TEXT-S03 FOR FIELD KEEP.
selection-screen position 25.
PARAMETERS: KEEP AS CHECKBOX. "' ' = delete session if finished
"'X' = keep session if finished
*SELECTION-SCREEN COMMENT 48(20) TEXT-S09 FOR FIELD E_GROUP.
*selection-screen position 70.
*parameters E_GROUP(12). "group name of error-session
SELECTION-SCREEN END OF LINE.
*
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) TEXT-S04 FOR FIELD HOLDDATE.
selection-screen position 25.
PARAMETERS: HOLDDATE LIKE SY-DATUM.
*SELECTION-SCREEN COMMENT 51(17) TEXT-S02 FOR FIELD E_USER.
*selection-screen position 70.
*PARAMETERS: E_USER(12) DEFAULT SY-UNAME. "user for error-session
SELECTION-SCREEN END OF LINE.
*
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT 51(17) TEXT-S03 FOR FIELD E_KEEP.
*selection-screen position 70.
*PARAMETERS: E_KEEP AS CHECKBOX. "' ' = delete session if finished
*"'X' = keep session if finished
*SELECTION-SCREEN END OF LINE.
*
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT 51(17) TEXT-S04 FOR FIELD E_HDATE.
*selection-screen position 70.
*PARAMETERS: E_HDATE LIKE SY-DATUM.
*SELECTION-SCREEN END OF LINE.
*
*SELECTION-SCREEN SKIP.
*
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT 1(33) TEXT-S10 FOR FIELD NODATA.
*PARAMETERS: NODATA DEFAULT '/' LOWER CASE. "nodata
*SELECTION-SCREEN END OF LINE.
*
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT 1(33) FOR FIELD SMALLLOG.
*PARAMETERS: SMALLLOG as checkbox. "' ' = log all transactions
*"'X' = no transaction logging
*SELECTION-SCREEN END OF LINE.
*
----
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.
*data: ctumode like ctu_params-dismode value 'E'. "'N'.
*data:cupdate like ctu_params-updmode value 'S'. "'L'.
data:smalllog value ' '.
data:e_group(12).
data:e_user like sy-uname.
data:e_keep .
data:e_hdate like sy-datum.
*
----
at selection screen *
----
AT SELECTION-SCREEN.
group and user must be filled for create session
IF SESSION = 'X' AND
GROUP = SPACE OR USER = SPACE.
MESSAGE E613(MS).
ENDIF.
----
open dataset *
----
*FORM OPEN_DATASET USING P_DATASET.
OPEN DATASET P_DATASET
FOR INPUT IN TEXT MODE
ENCODING DEFAULT.
IF SY-SUBRC <> 0.
WRITE: / TEXT-E00, SY-SUBRC.
STOP.
ENDIF.
*ENDFORM. "OPEN_DATASET
*
----
close dataset *
----
*FORM CLOSE_DATASET USING P_DATASET.
CLOSE DATASET P_DATASET.
*ENDFORM. "CLOSE_DATASET
----
create batchinput session *
(not for call transaction using...) *
----
FORM OPEN_GROUP.
IF SESSION = 'X'.
SKIP.
WRITE: /(20) 'Create group'(I01), GROUP.
SKIP.
open batchinput group
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = GROUP
USER = USER
KEEP = KEEP
HOLDDATE = HOLDDATE.
WRITE: /(30) 'BDC_OPEN_GROUP'(I02),
(12) 'returncode:'(I05),
SY-SUBRC.
ENDIF.
ENDFORM. "OPEN_GROUP
----
end batchinput session *
(call transaction using...: error session) *
----
FORM CLOSE_GROUP.
IF SESSION = 'X'.
close batchinput group
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),
(12) 'returncode:'(I05),
SY-SUBRC.
ELSE.
IF E_GROUP_OPENED = 'X'.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /.
WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).
ENDIF.
ENDIF.
ENDFORM. "CLOSE_GROUP
----
Start new transaction according to parameters *
----
FORM BDC_TRANSACTION USING TCODE.
DATA: L_MSTRING(480).
DATA: L_SUBRC LIKE SY-SUBRC.
batch input session
IF SESSION = 'X'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = TCODE
TABLES
DYNPROTAB = BDCDATA.
IF SMALLLOG <> 'X'.
WRITE: / 'BDC_INSERT'(I03),
TCODE,
'returncode:'(I05),
SY-SUBRC,
'RECORD:',
SY-INDEX.
ENDIF.
call transaction using
ELSE.
REFRESH MESSTAB.
CALL TRANSACTION TCODE USING BDCDATA
MODE CTUMODE
UPDATE CUPDATE
MESSAGES INTO MESSTAB.
L_SUBRC = SY-SUBRC.
IF SMALLLOG <> 'X'.
WRITE: / 'CALL_TRANSACTION',
TCODE,
'returncode:'(I05),
L_SUBRC,
'RECORD:',
SY-INDEX.
LOOP AT MESSTAB.
SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA
AND ARBGB = MESSTAB-MSGID
AND MSGNR = MESSTAB-MSGNR.
IF SY-SUBRC = 0.
L_MSTRING = T100-TEXT.
IF L_MSTRING CS '&1'.
REPLACE '&1' WITH MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&2' WITH MESSTAB-MSGV2 INTO L_MSTRING.
REPLACE '&3' WITH MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&4' WITH MESSTAB-MSGV4 INTO L_MSTRING.
ELSE.
REPLACE '&' WITH MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV2 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV4 INTO L_MSTRING.
ENDIF.
CONDENSE L_MSTRING.
WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).
ELSE.
WRITE: / MESSTAB.
ENDIF.
ENDLOOP.
SKIP.
ENDIF.
Erzeugen fehlermappe ************************************************
IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
IF E_GROUP_OPENED = ' '.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = E_GROUP
USER = E_USER
KEEP = E_KEEP
HOLDDATE = E_HDATE.
E_GROUP_OPENED = 'X'.
ENDIF.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = TCODE
TABLES
DYNPROTAB = BDCDATA.
ENDIF.
ENDIF.
REFRESH BDCDATA.
ENDFORM. "BDC_TRANSACTION
----
Start new screen *
----
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO
----
Insert field *
----
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> NODATA.
IF not FVAL is initial.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM. "BDC_FIELD
‎2005 Jun 07 4:40 AM
I've not gone into details but..
define Parameters that you have commented as DATA:.
e.g for convert
PARAMETERS: NODATA DEFAULT '/' LOWER CASE.
to
DATA : NODATA type C value '/' .
similarly for other cases and just intialize the value of those parameters properly.
Cheers,
Ram
‎2005 Jun 07 4:40 AM
I've not gone into details but..
define Parameters that you have commented as DATA:.
e.g for convert
PARAMETERS: NODATA DEFAULT '/' LOWER CASE.
to
DATA : NODATA type C value '/' .
similarly for other cases and just intialize the value of those parameters properly.
Cheers,
Ram
‎2005 Jun 07 6:41 AM
Hi,
I would Suggest, Not to comment the part for call transaction. Instead You can use the addition no-display.
For eg. PARAMETERS e_group(12) no-display.
Hope this will solve Ur problem