How to skip first step in a FPM roadmap?
Hello, Our client wants the first step disabled/not displayed in a standard roadmap that has been delivered with the software. The standard roadmap uses component FPM_GAF_COMPONENT and consists of 4 steps (and is based on an application config and component config). They want to directly display the second step with certain values in the second screen pre-populated from a custom application (the second screen would in normaly flow be populated from first screen). So I have two tasks:
1) disable first screen/step
2) populate second screen/step with data from custom application
This is my first exposure to FPM and roadmaps. I tried deleting the first step from the component configuration and making the current 3 step process into a 3 step process, but this does not work and did not seem to be the way to go. On looking around I see some documentation for methods HIDE_MAINSTEP to be used thru IF_FPM_GAF interface, but am not sure where to implement this interface or what code to use in the method.
Can anyone provide step by step suggestions and examples of codes please?
Thanks,
Zack
Thanks Harish.
I was able to get to the HIDE_MAINSTEP method. However, when I try to hide step 1, which is my requirement, there is a short dump. If I hide step 2 or 3 out of the 4 step process, the sequence of screens is showing up appropriately. However, when I hide step 1, there seems to be some problem in mehod WDDOMODIFYVIEW of view CNR_VIEW of component FPM_GAF_COMPONENT where in a loop for the first loop pass, even though step 1 is hidden, the code is trying to access the road_map_step element which is not instantiated. We have opened a note for this issue.
Zack
Similar Messages
-
How to skip first record while inserting data from a flat file to BW system
Hi Experts,
In my project we have to upload flat file into a BW system. I have written a program and it is working fine.
Now we have got another requirement. The flat file will have a header record (first row). While uploading the flat file we have to skip this record. How I can do so?
The code is as below:
FORM upload1.
DATA : wf_title TYPE string,
lt_filetab TYPE filetable,
l_separator TYPE char01,
l_action TYPE i,
l_count TYPE i,
ls_filetab TYPE file_table,
wf_delemt TYPE rollname,
wa_fieldcat TYPE lvc_s_fcat,
tb_fieldcat TYPE lvc_t_fcat,
rows_read TYPE i,
p_error TYPE char01,
l_file TYPE string.
DATA: wf_object(30) TYPE c,
wf_tablnm TYPE rsdchkview.
wf_object = 'myprogram'.
DATA i TYPE i.
DATA:
lr_mdmt TYPE REF TO cl_rsdmd_mdmt,
lr_mdmtr TYPE REF TO cl_rsdmd_mdmtr,
lt_idocstate TYPE rsarr_t_idocstate,
lv_subrc TYPE sysubrc.
TYPES : BEGIN OF test_struc,
/bic/myprogram TYPE /bic/oimyprogram,
txtmd TYPE rstxtmd,
END OF test_struc.
DATA : tb_assum TYPE TABLE OF /bic/pmyprogram.
DATA: wa_ztext TYPE /bic/tmyprogram,
myprogram_temp TYPE ziott_assum,
wa_myprogram TYPE /bic/pmyprogram.
DATA : test_upload TYPE STANDARD TABLE OF test_struc,
wa2 TYPE test_struc.
DATA : wa_test_upload TYPE test_struc,
ztable_data TYPE TABLE OF /bic/pmyprogram,
ztable_text TYPE TABLE OF /bic/tmyprogram,
wa_upld_text TYPE /bic/tmyprogram,
wa_upld_data TYPE /bic/pmyprogram,
t_assum TYPE ziott_assum.
DATA : wa1 LIKE test_upload.
wf_title = text-026.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = wf_title
default_extension = 'txt'
file_filter = 'Tab delimited Text Files (*.txt)'
CHANGING
file_table = lt_filetab
rc = l_count
user_action = l_action
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
OTHERS = 3. "#EC NOTEXT
IF sy-subrc <> 0.
EXIT.
ENDIF.
LOOP AT lt_filetab INTO ls_filetab.
l_file = ls_filetab.
ENDLOOP.
CHECK l_action = 0.
IF l_file IS INITIAL.
EXIT.
ENDIF.
l_separator = 'X'.
wa_fieldcat-fieldname = 'test'.
wa_fieldcat-dd_roll = wf_delemt.
APPEND wa_fieldcat TO tb_fieldcat.
CALL FUNCTION 'MESSAGES_INITIALIZE'.
CLEAR wa_test_upload.
Upload file from front-end (PC)
File format is tab-delimited ASCII
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_file
has_field_separator = l_separator
TABLES
data_tab = i_mara
data_tab = test_upload
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.
EXIT.
ELSE.
CALL FUNCTION 'MESSAGES_INITIALIZE'.
IF test_upload IS NOT INITIAL.
DESCRIBE TABLE test_upload LINES rows_read.
CLEAR : wa_test_upload,wa_upld_data.
LOOP AT test_upload INTO wa_test_upload.
CLEAR : p_error.
rows_read = sy-tabix.
IF wa_test_upload-/bic/myprogram IS INITIAL.
p_error = 'X'.
MESSAGE s153 WITH wa_test_upload-/bic/myprogram sy-tabix.
CONTINUE.
ELSE.
TRANSLATE wa_test_upload-/bic/myprogram TO UPPER CASE.
wa_upld_text-txtmd = wa_test_upload-txtmd.
wa_upld_text-txtsh = wa_test_upload-txtmd.
wa_upld_text-langu = sy-langu.
wa_upld_data-chrt_accts = 'xyz1'.
wa_upld_data-co_area = '12'.
wa_upld_data-/bic/zxyzbcsg = 'Iy'.
wa_upld_data-objvers = 'A'.
wa_upld_data-changed = 'I'.
wa_upld_data-/bic/zass_mdl = 'rrr'.
wa_upld_data-/bic/zass_typ = 'I'.
wa_upld_data-/bic/zdriver = 'yyy'.
wa_upld_text-langu = sy-langu.
MOVE-CORRESPONDING wa_test_upload TO wa_upld_data.
MOVE-CORRESPONDING wa_test_upload TO wa_upld_text.
APPEND wa_upld_data TO ztable_data.
APPEND wa_upld_text TO ztable_text.
ENDIF.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM ztable_data.
DELETE ADJACENT DUPLICATES FROM ztable_text.
IF ztable_data IS NOT INITIAL.
CALL METHOD cl_rsdmd_mdmt=>factory
EXPORTING
i_chabasnm = 'myprogram'
IMPORTING
e_r_mdmt = lr_mdmt
EXCEPTIONS
invalid_iobjnm = 1
OTHERS = 2.
CALL FUNCTION 'MESSAGES_INITIALIZE'.
**Lock the Infoobject to update
CALL FUNCTION 'RSDG_IOBJ_ENQUEUE'
EXPORTING
i_objnm = wf_object
i_scope = '1'
i_msgty = rs_c_error
EXCEPTIONS
foreign_lock = 1
sys_failure = 2.
IF sy-subrc = 1.
MESSAGE i107(zddd_rr) WITH wf_object sy-msgv2.
EXIT.
ELSEIF sy-subrc = 2.
MESSAGE i108(zddd_rr) WITH wf_object.
EXIT.
ENDIF.
*****Update Master Table
IF ztable_data IS NOT INITIAL.
CALL FUNCTION 'RSDMD_WRITE_ATTRIBUTES_TEXTS'
EXPORTING
i_iobjnm = 'myprogram'
i_tabclass = 'M'
I_T_ATTR = lt_attr
TABLES
i_t_table = ztable_data
EXCEPTIONS
attribute_name_error = 1
iobj_not_found = 2
generate_program_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = 'zddd_rr'
msgty = 'E'
txtnr = '054'
msgv1 = text-033
EXCEPTIONS
OTHERS = 3.
MESSAGE e054(zddd_rr) WITH 'myprogram'.
ELSE.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = 'zddd_rr'
msgty = 'S'
txtnr = '053'
msgv1 = text-033
EXCEPTIONS
OTHERS = 3.
ENDIF.
*endif.
*****update Text Table
IF ztable_text IS NOT INITIAL.
CALL FUNCTION 'RSDMD_WRITE_ATTRIBUTES_TEXTS'
EXPORTING
i_iobjnm = 'myprogram'
i_tabclass = 'T'
TABLES
i_t_table = ztable_text
EXCEPTIONS
attribute_name_error = 1
iobj_not_found = 2
generate_program_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = 'zddd_rr'
msgty = 'E'
txtnr = '055'
msgv1 = text-033
EXCEPTIONS
OTHERS = 3.
ENDIF.
ENDIF.
ELSE.
MESSAGE s178(zddd_rr).
ENDIF.
ENDIF.
COMMIT WORK.
CALL FUNCTION 'RSD_CHKTAB_GET_FOR_CHA_BAS'
EXPORTING
i_chabasnm = 'myprogram'
IMPORTING
e_chktab = wf_tablnm
EXCEPTIONS
name_error = 1.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
****Release locks on Infoobject
CALL FUNCTION 'RSDG_IOBJ_DEQUEUE'
EXPORTING
i_objnm = 'myprogram'
i_scope = '1'.
ENDIF.
ENDIF.
PERFORM data_selection .
PERFORM update_alv_grid_display.
CALL FUNCTION 'MESSAGES_SHOW'.
ENDFORM.
Please let me know how I can skip first record of the flat file?
Regards,
Sgo through this hope u can get some idea
REPORT ztest no standard page heading line-size 255.
Declaration *
TYPES t_itab1 TYPE alsmex_tabline.
types: begin of t_csks,
kostl like csks-kostl,
end of t_csks.
types: begin of t_cska,
kstar like cska-kstar,
end of t_cska.
data: begin of t_flatfile,
docdate like COHEADER-BLDAT,
postdate like COHEADER-BUDAT,
doctext like COHEADER-BLTXT,
costele like RK23F-KSTAR,
amount like RK23F-WTGBTR,
scostctr like RK23F-SKOSTL,
rcostctr like RK23F-EKOSTL,
rintorder like RK23F-EAUFNR,
end of t_flatfile.
data: begin of t_flatfile1,
docdate like COHEADER-BLDAT,
postdate like COHEADER-BUDAT,
doctext like COHEADER-BLTXT,
costele like RK23F-KSTAR,
amount like RK23F-WTGBTR,
scostctr like RK23F-SKOSTL,
rcostctr like RK23F-EKOSTL,
rintorder like RK23F-EAUFNR,
NUM LIKE SY-INDEX,
end of t_flatfile1.
data: itab like table of t_flatfile with header line.
data: itab2 like table of t_flatfile1 with header line.
DATA: it_itab1 TYPE STANDARD TABLE OF t_itab1 WITH HEADER LINE,
MESSTAB1 LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE,
MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
data: begin of bdcdata occurs 0.
include structure bdcdata.
data: end of bdcdata.
data:t_lin type i VALUE '0',
u_rec type i VALUE '0',
s_rec type i VALUE '0'.
data: it_csks type standard table of t_csks,
wa_csks type t_csks.
data: it_cska type standard table of t_cska,
wa_cska type t_cska.
*Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-010.
parameters: p_docdat LIKE COHEADER-BLDAT obligatory,
p_postda LIKE COHEADER-BUDAT obligatory,
p_doctxt LIKE COHEADER-BLTXT.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-011.
parameters: p_file LIKE RLGRAP-FILENAME obligatory,
DIS_MODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.
SELECTION-SCREEN END OF BLOCK b2.
A T S E L E C T I O N S C R E E N *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM get_local_file_name USING p_file.
*Start of Selection
START-OF-SELECTION.
Perform get_Excel_data.
perform validate_data.
Perform Process_Data.
end-of-selection
end-of-selection.
perform display_data.
*& Form get_local_file_name
text
-->P_P_FILE text
FORM get_local_file_name USING P_P_FILE.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
CHANGING
file_name = p_file.
ENDFORM. " get_local_file_name
*& Form get_Excel_data
text
--> p1 text
<-- p2 text
FORM get_Excel_data .
FIELD-SYMBOLS : <FS>.
DATA : V_INDEX TYPE I.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = p_file
i_begin_col = 1
i_begin_row = 2
i_begin_row = 1
i_end_col = 256
i_end_row = 9999 "65536
TABLES
intern = it_itab1
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
Message text-013 type 'E'.
ENDIF.
IF IT_ITAB1[] IS INITIAL.
Message text-001 type 'E'.
else. "IF IT_ITAB1[] IS INITIAL.
data: itab2 like itab occurs 0 with header line.
SORT IT_ITAB1 BY ROW COL.
LOOP AT IT_ITAB1.
MOVE :IT_ITAB1-COL TO V_INDEX.
ASSIGN COMPONENT V_INDEX OF STRUCTURE itab2 TO <FS>.
MOVE : IT_ITAB1-VALUE TO <FS>.
AT END OF ROW.
MOVE-CORRESPONDING itab2 TO itab.
APPEND itab.
CLEAR:itab,itab2.
ENDAT.
endloop.
describe table itab lines t_lin.
endif. "IF IT_ITAB1[] IS INITIAL.
ENDFORM. " get_Excel_data
*& Form Process_Data
text
--> p1 text
<-- p2 text
FORM Process_Data .
data:l_tabix type sy-tabix.
data:l_periv like t001-periv,
l_monat like bkpf-monat,
l_gjahr like bkpf-gjahr,
l_amt(21) type c.
data: l_ddate(10),
l_pdate(10).
WRITE p_docdat TO l_ddate.
WRITE p_postda TO l_pdate.
clear: l_periv,l_monat,l_gjahr.
select single periv from t001 into l_periv where bukrs = '5000'. "P_bukrs
if sy-subrc eq 0.
l_gjahr = p_postda+0(4).
call function 'FI_PERIOD_DETERMINE'
EXPORTING
i_budat = p_postda
i_bukrs = '5000' "p_bukrs
i_periv = l_periv
i_gjahr = l_gjahr
IMPORTING
e_monat = l_monat.
clear:l_periv.
endif.
loop at itab2.
refresh:bdcdata.
clear:bdcdata.
l_tabix = sy-tabix.
perform bdc_dynpro using 'SAPLK23F1' '1200'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'COHEADER-SEND_REC_REL'
'10SAP'.
perform bdc_field using 'RK23F-STATUS'
'S'.
perform bdc_field using 'COHEADER-BLDAT'
itab-docdate.
l_ddate.
perform bdc_field using 'COHEADER-BUDAT'
itab-postdate.
l_pdate.
perform bdc_field using 'COHEADER-PERIO'
l_monat. "'9'.
perform bdc_field using 'COHEADER-BLTXT'
itab-doctext.
p_doctxt.
perform bdc_field using 'RK23F-KSTAR'
itab2-costele.
WRITE itab2-amount TO l_amt.
l_amt = itab-amount.
condense l_amt no-gaps.
perform bdc_field using 'RK23F-WTGBTR'
l_amt.
itab-amount.
perform bdc_field using 'RK23F-WAERS'
'USD'.
*perform bdc_field using 'RK23F-SGTXT'
itab-doctext.
perform bdc_field using 'RK23F-SKOSTL'
itab2-scostctr.
perform bdc_field using 'BDC_CURSOR'
'RK23F-EAUFNR'.
perform bdc_field using 'RK23F-EKOSTL'
itab2-rcostctr.
perform bdc_field using 'RK23F-EAUFNR'
itab2-rintorder.
perform bdc_dynpro using 'SAPLK23F1' '1200'.
perform bdc_field using 'BDC_OKCODE'
'=POST'.
perform bdc_field using 'COHEADER-SEND_REC_REL'
'10SAP'.
perform bdc_field using 'RK23F-STATUS'
'S'.
perform bdc_field using 'COHEADER-BLDAT'
itab-docdate.
l_ddate.
perform bdc_field using 'COHEADER-BUDAT'
itab-postdate.
l_pdate.
perform bdc_field using 'COHEADER-PERIO'
'9'.
l_monat.
perform bdc_field using 'COHEADER-BLTXT'
itab-doctext.
p_doctxt.
perform bdc_field using 'BDC_CURSOR'
'RK23F-KSTAR'.
perform bdc_field using 'RK23F-WAERS'
'USD'.
CALL TRANSACTION 'KB15N' USING BDCDATA MODE DIS_MODE MESSAGES INTO MESSTAB.
If sy-subrc = 0.
s_rec = s_rec + 1.
ELSE.
u_rec = u_rec + 1.
move ITAB2-NUM to messtab1-msgv1.
concatenate itab2-costele ' | ' itab2-scostctr ' | ' itab2-rcostctr ' | ' itab2-rintorder into messtab1-msgv2.
condense messtab1-msgv2.
condense messtab1-msgv1.
append messtab1.
endif.
clear:itab2.
endloop.
ENDFORM. " Process_Data
BDC_DYNPRO *
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO
BDC_FIELD *
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> ''. "NODATA.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM. "BDC_FIELD
*& Form display_data
text
--> p1 text
<-- p2 text
FORM display_data .
skip 2.
write:/15 text-002.
skip 2.
write:/8 text-003.
SKIP.
write:/12 text-008,
25 P_DOCDAT.
SKIP.
write:/12 text-009,
25 P_POSTDA.
SKIP.
write:/12 text-012,
25 P_DOCTXT.
SKIP.
write:/12 text-004,
25 p_file.
skip 2.
write:/8 text-005,
60 t_lin.
skip.
write:/8 text-006,
60 s_rec.
skip.
write:/8 text-007,
60 u_rec.
skip.
write:/10 'row no',
20 'Information'.
skip.
loop at messtab1.
write:/10 messtab1-msgv1,
20 messtab1-msgv2.
clear:messtab1.
endloop.
ENDFORM. " display_data
*& Form validate_data
text
--> p1 text
<-- p2 text
FORM validate_data .
data: l_tabix1 type sy-tabix.
data: l_tabix2 type sy-tabix.
if not itab[] is initial.
select kostl from CSKS into table it_csks.
if sy-subrc eq 0.
sort it_csks by kostl.
endif.
select kstar from CSKA into table it_cska.
if sy-subrc eq 0.
sort it_cska by kstar.
endif.
loop at itab.
l_tabix1 = sy-tabix.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = itab-scostctr
IMPORTING
OUTPUT = itab-scostctr .
read table it_csks into wa_csks with key kostl = itab-scostctr.
if sy-subrc ne 0.
u_rec = u_rec + 1.
L_TABIX2 = l_tabix1 + 1.
move l_tabix2 to messtab1-msgv1.
move l_tabix1 to messtab1-msgv1.
move itab-rintorder to messtab1-msgv2.
concatenate itab-costele ' | ' itab-scostctr ' | ' itab-rcostctr ' | ' itab-rintorder into messtab1-msgv2.
condense messtab1-msgv2.
condense messtab1-msgv1.
append messtab1.
clear:wa_csks.
CLEAR:L_TABIX2.
continue.
endif.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = itab-rcostctr
IMPORTING
OUTPUT = itab-rcostctr .
read table it_csks into wa_csks with key kostl = itab-rcostctr.
if sy-subrc ne 0.
u_rec = u_rec + 1.
L_TABIX2 = l_tabix1 + 1.
move l_tabix2 to messtab1-msgv1.
move l_tabix1 to messtab1-msgv1.
concatenate itab-costele ' | ' itab-scostctr ' | ' itab-rcostctr ' | ' itab-rintorder into messtab1-msgv2.
condense messtab1-msgv2.
condense messtab1-msgv1.
append messtab1.
clear:wa_csks.
CLEAR:L_TABIX2.
continue.
endif.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = itab-costele
IMPORTING
OUTPUT = itab-costele .
read table it_cska into wa_cska with key kstar = itab-costele.
if sy-subrc ne 0.
u_rec = u_rec + 1.
L_TABIX2 = l_tabix1 + 1.
move l_tabix2 to messtab1-msgv1.
move l_tabix1 to messtab1-msgv1.
concatenate itab-costele ' | ' itab-scostctr ' | ' itab-rcostctr ' | ' itab-rintorder into messtab1-msgv2.
condense messtab1-msgv2.
condense messtab1-msgv1.
append messtab1.
clear:wa_csks.
CLEAR:L_TABIX2.
continue.
endif.
move-corresponding itab to itab2.
MOVE l_tabix1 TO ITAB2-NUM.
append itab2.
clear: itab2.
clear:itab.
endloop.
else.
message 'No records in File' type 'S'.
endif.
ENDFORM. " validate_data -
How to skip first screen while calling transaction
Hi all,
I am using interactive alv.
if i select one line and press details
that must go to another screen.
In that i must skip first screen and directly go to the details of that first screen.
suppose i am using the code as follows
call transaction mm01 and skip first screen
this is giving me error.
how to solve the problem.
thanks and regards,
giri.hi giri,
For ur requirement, u can use SKIP FIRST SCREEN addition for CALL TRANSACTION Command.
Before this, u have to use SET PARAMETER ID Command to pass the required values for transaction.
Example, In transaction VA01, we have to set parameter AUN to pass the sale order number to the transaction.
<b>
AT LINE-SELECTION .
SET PARAMETER ID 'AUN' FIELD w_vbeln.
CALL TRANSACTION 'VA01' AND SKIP FIRST SCREEN .</b>
where w_vbeln contains the sale ordre number. Now VA01 runs for this sale order number..... And AUN is the PARAMETER to be set before calling VA01 TCODE.
similarly, check the PARAMETER associated with MM01 Tcode and initialize that parameter and call the code in the similar way.
To check parameter Id of MM01,
1) Enter MM01 Transaction
2) Press F1 on Material Field
3) Select Technical Info
4) u can find Parameter ID associated with this field.
check these links for full details.
call transaction...
http://help.sap.com/saphelp_47x200/helpdata/en/78/21761c51ce11d189570000e829fbbd/frameset.htm
at line selection,
http://help.sap.com/saphelp_47x200/helpdata/en/9f/dba2c435c111d1829f0000e829fbfe/frameset.htm
get/set parameter:
http://help.sap.com/saphelp_nw04/helpdata/en/5b/7bc3775d1111d295ad0000e82de14a/frameset.htm
Reward me if useful........
Harimanjesh AN -
How to skip first records while reading a csv file
Hi,
How to skip the first 5 records while reading csv file.
I have a file which contains first 5 records as dummy records, I want to skip those records and load the rest into RDBMS.
How to achieve this?
Thanks,
Naveen SuramHi Guru,
Actually I have converted an excel to CSV format, which is generating first 4 rows as some dummy records. 5th row is my header record. But in hearder record, two column names are same. Thats why while reversing it is giving an error.
With zero in number of columns in header, I am getting the column names as C1, C2...
If not in reversing, can we reject the first records while loading into RDMBS table using an interface?
Thanks,
Naveen Suram -
How to skip first screen that is not selection screen.
Hi Experts
I am working on a module pool program where in I am required to call a transaction with skip first screen. the first screen of this transaction is self made screen with screen painter with input boxes and a submit button with an OK_CODE. now I am able to get all the input boxes filled during the call, however as the ok_code is missing it is not skipping first screen, neither does the PAI of first screen of called transaction is getting fired, is there any way to fire it?I discovered that once I set the parameter of sy-ucomm and then called the transaction it worked. check the code if you need the help on same
ACTION = 'VW'.
value = 'V01'.
SET PARAMETER ID 'SPM' FIELD SPMON.
SET PARAMETER ID 'VRS' FIELD VRSIO.
SET PARAMETER ID 'VKB' FIELD WA_INDEX-L_VKBUR.
SET PARAMETER ID 'DFM' FIELD ZSDTPLANVRSIO-DAT_FRM.
SET PARAMETER ID 'DFT' FIELD ZSDTPLANVRSIO-DAT_TO.
set PARAMETER ID 'ACT' field action.
set PARAMETER ID 'OKC' field value.
call TRANSACTION 'ZPLAN_INT' AND SKIP FIRST SCREEN.{/code}
this OKC parameter id holds the value for sy-ucomm and the screen 100 of the called transaction has been skiped and ALV was displayed direct away.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'ZAO_MAIN'.
SET TITLEBAR 'ZAO'.
if pass <> 1.
get PARAMETER ID 'ACT' FIELD action.
get PARAMETER ID 'SPM' FIELD SPMON.
get PARAMETER ID 'VRS' FIELD VRSIO.
get PARAMETER ID 'VKB' FIELD knvv-VKBUR.
get PARAMETER ID 'DFM' FIELD ZSDTPLANVRSIO-DAT_FRM.
get PARAMETER ID 'DFT' FIELD ZSDTPLANVRSIO-DAT_TO.
get PARAMETER ID 'OKC' field sy-ucomm.
set PARAMETER ID 'ACT' field action.
endif. {/code} -
How to skip first screen of XK03 in Webdynpro ABAP
Hello Experts,
I am working on one webdynpro application where I am displaying transaction XK03 based on Link to Action of the particular vendor. But my problem is that I wanted skip first screen of XK03 so that directely I can go to display mode. Plz help me out...
Thanks
Basanagoudasee the forum please: Web Dynpro ABAP
-
How to skip first TWO Lines of .txt file using XSLT Mapping
Hi Friends ,
I have an .txt file in has the format as
<TEST>
4564564545
56456444566
56465
How can i skip the first two Lines when i am writing the XSLT Mapping ?
That <TEST> and empty line shouldn't go the rfc .
How can i skip and sent to rfc using XSLT Mapping ?
Best Regards .,
V.Rangarajanyou can avoid the empty lines in your File Content Conversion by defining offset.
<i>Under Document Offset, specify the number of lines that are to be ignored at the beginning of the document.
This enables you to skip comment lines or column names during processing. If you do not make an entry, the default value is zero lines.</i>
ref: http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
then the generated XML after FCC will not have the empty lines. -
How to skip approving steps for users who are also approvers?
We have a business need to be able to skip the approving steps for the users who are also approvers.
For this following steps were followed :-
1) Open .task file and go into the Assignment tab. Double click on the performer box within the routing slip, this should open the "Edit Participant Type" editor. Expand the "Advanced" section and place a check next to "specify skip rule", then click the edit icon to the right. Now enter an XPath expression that will test whether the current user is equal to the task creator.
2) We used - isUserInRole XPath function in the "Identify Service Functions" dropdown - first param to function is the userID, the 2nd is the role name.
We tried with hardcoded userID as well as by using
ids:isUserInRole(/task:task/task:systemAttributes/task:updatedBy/task:id,'California')
where 'California' is the group name (as one of the forum threads told this function works with groups).
We also tried with swimlane roles(using bpm.getPerformer() function) but it does not work either.
Please let me know if any one has any solution to this problem.session as DirectorySession = DirectorySession.currentEngineSession
dirHum as Fuego.Fdi.DirHumanParticipant = DirHumanParticipant.fetch(session : session, id : "myUserId")
result = hasRoleAssigned(dirHum, role : "Approver")Give that a try...
HTH,
-Kevin -
How to skip first 5 lines from a txt file when using sql*loader
Hi,
I have a txt file that contains header info tat i dont need. how can i skip those line when importing the file to my database?
CheersDanny Fasen wrote:
I think most of us would process this report using pl/sql:
- read the file until you've read the column headers
- read the account info and insert the data in the table until you have read the last account info line
- read the file until you've read a new set of column headers (page 2)
- read the account info and insert the data in the table until you have read the last account info line (page 2)
- etc. until you reach the total block idenfitied by Count On-line ...
- read the totals and compare them with the data inserted in the tableOr maybe like this...
First create an external table to read the report as whole lines...
SQL> ed
Wrote file afiedt.buf
1 CREATE TABLE ext_report (
2 line VARCHAR2(200)
3 )
4 ORGANIZATION EXTERNAL (
5 TYPE oracle_loader
6 DEFAULT DIRECTORY TEST_DIR
7 ACCESS PARAMETERS (
8 RECORDS DELIMITED BY NEWLINE
9 BADFILE 'bad_report.bad'
10 DISCARDFILE 'dis_report.dis'
11 LOGFILE 'log_report.log'
12 FIELDS TERMINATED BY X'0D' RTRIM
13 MISSING FIELD VALUES ARE NULL
14 REJECT ROWS WITH ALL NULL FIELDS
15 (
16 line
17 )
18 )
19 LOCATION ('report.txt')
20 )
21 PARALLEL
22* REJECT LIMIT UNLIMITED
SQL> /
Table created.
SQL> select * from ext_report;
LINE
x report page1
CDC:00220 / Sat Aug-08-2009 xxxxp for 02/08/09 - 08/08/09 Effective Date 11/08/09 Wed Sep-30-2009 08:25:43
Bill to
Retailer Retailer Name Name on Bank Account Bank ABA Bank Acct On-line Amount Instant Amount Total Amount
======== ============================== ============================== ========== ==================== =============== =============== ===============
0100103 BANK Terminal raji 123456789 123456789 -29,999.98 9 0.00 99 -29,999.98
0100105 Independent 1 Savings 123456789 100000002 -1,905.00 9 0.00 99 -1,905.00
0100106 Independent 2 system 123456789 100000003 -800.00 9 -15.00 99 -815.00
LARGE SPACE
weekly_eft_repo 1.0 Page: 2
CDC:00220 / Sat Aug-08-2009 Weekly EFT Sweep for 02/08/09 - 08/08/09 Effective Date 11/08/09 Wed Sep-30-2009 08:25:43
Bill to
Retailer Retailer Name Name on Bank Account Bank ABA Bank Acct On-line Amount Instant Amount Total Amount
======== ============================== ============================== ========== ==================== =============== =============== ===============
Count On-line Amount Instant Amount Total Amount
============== ====================== ====================== ======================
Debits 0 0.00 0.00 0.00
Credits 3 -32,704.98 -15.00 -32,719.98
Totals 3 -32,704.98 -15.00 -32,719.98
Total Tape Records / Blocks / Hash : 3 1 37037034
End of Report
23 rows selected.Then we can check we can just pull out the lines of data we're interested in from that...
SQL> ed
Wrote file afiedt.buf
1 create view vw_report as
2* select line from ext_report where regexp_like(line, '^[0-9]')
SQL> /
View created.
SQL> select * from vw_report;
LINE
0100103 BANK Terminal raji 123456789 123456789 -29,999.98 9 0.00 99 -29,999.98
0100105 Independent 1 Savings 123456789 100000002 -1,905.00 9 0.00 99 -1,905.00
0100106 Independent 2 system 123456789 100000003 -800.00 9 -15.00 99 -815.00And then we adapt that view to extract the data from those lines as actual columns...
SQL> col retailer format a10
SQL> col retailer_name format a20
SQL> col name_on_bank_account format a20
SQL> col online_amount format 999,990.00
SQL> col instant_amount format 999,990.00
SQL> col total_amount format 999,990.00
SQL> ed
Wrote file afiedt.buf
1 create or replace view vw_report as
2 select regexp_substr(line, '[^ ]+', 1, 1) as retailer
3 ,trim(regexp_replace(regexp_substr(line, '[[:alpha:]][[:alnum:] ]*[[:alpha:]]', 1, 1), '(.*) +[^ ]+$', '\1')) as retailer_name
4 ,trim(regexp_replace(regexp_substr(line, '[[:alpha:]][[:alnum:] ]*[[:alpha:]]', 1, 1), '.* ([^ ]+)$', '\1')) as name_on_bank_account
5 ,to_number(regexp_substr(regexp_replace(line,'.*[[:alpha:]]([^[:alpha:]]+)','\1'), '[^ ]+', 1, 1)) as bank_aba
6 ,to_number(regexp_substr(regexp_replace(line,'.*[[:alpha:]]([^[:alpha:]]+)','\1'), '[^ ]+', 1, 2)) as bank_account
7 ,to_number(regexp_substr(regexp_replace(line,'.*[[:alpha:]]([^[:alpha:]]+)','\1'), '[^ ]+', 1, 3),'999,999.00') as online_amount
8 ,to_number(regexp_substr(regexp_replace(line,'.*[[:alpha:]]([^[:alpha:]]+)','\1'), '[^ ]+', 1, 5),'999,999.00') as instant_amount
9 ,to_number(regexp_substr(regexp_replace(line,'.*[[:alpha:]]([^[:alpha:]]+)','\1'), '[^ ]+', 1, 7),'999,999.00') as total_amount
10* from (select line from ext_report where regexp_like(line, '^[0-9]'))
SQL> /
View created.
SQL> select * from vw_report;
RETAILER RETAILER_NAME NAME_ON_BANK_ACCOUNT BANK_ABA BANK_ACCOUNT ONLINE_AMOUNT INSTANT_AMOUNT TOTAL_AMOUNT
0100103 BANK Terminal raji 123456789 123456789 -29,999.98 0.00 -29,999.98
0100105 Independent 1 Savings 123456789 100000002 -1,905.00 0.00 -1,905.00
0100106 Independent 2 system 123456789 100000003 -800.00 -15.00 -815.00
SQL>I couldn't quite figure out the "9" and the "99" data that was on those lines so I assume it should just be ignored. I also formatted the report data to fixed columns width in my external text file as I'd assume that's how the data would be generated, not that that would make much difference when extracting the values with regular expressions as I've done.
So... something like that anyway. ;) -
How to skip first screen in output
hello,
just look at standard report RM07MSAL then execute give any values a list comes then press cntrshiftf7 a new list comes.
i copy this programm into z program here i want c first screen which is come after press cntrshiftf7 means i want first screen skip.
regards amit.if you copied the program already then its yours and you can modify it. fine.
Create a transaktion for that programm, transaction type 'Program and dynpro'.
there you have to fill in a starting screen.
Use your second screen for that purpose. -
How to skip first screen in an LSMW
Hi All,
Can anyone please tell me, if its possible to skip a screen while doing a recording using an LSMW.
The following are the two options to achieve it:
1) Create a separate recording where that screen is not used
2) Is it possible to achieve this through some kind of coding.
Please help.
Thanks and Regards,
Arti DohareAarti,
Yes we need to choose Transaction with Parameters
While creating a t-code in SE93 after giving the short text for the tcode you will find START OBJECT where in you will get to see 4 options choose the "Transaction with Parameters(parameter transaction)
Then in the next screen you will get to see a sub screen at the bottom with text as DEFAULT VALUES,in the screen
give the OBJECT under the name of the screen field and in the value give the Object name and SubProject and its name.
Name of the screen field -
value
OBJECT----
ZXX
SUBPROJECT----
ZXX
K.Kiran. -
How to enable Previous Step Button in First Substep of FPM Road Map
Hello All,
I have created three MainSteps M1 M2 M3.
In Main Step M2 having Substeps Say S1 S2 S3 S4.
In M2 of S1 Previous Button by default it is disabled. Means user can't go back from First Substep(S1) to Main Step2 (M2).
Please let me know how to enable "Previous Step" Button in First Substep (S1) of FPM Road Map in M2.
Thanks in Advance.
Br
-CWHello BS,
Thanks for your suggestions.
Yes we can do with custom button.
Is there anyway to enable standard Previous Step Button in First Substep instead of creating cutom button.
Please guide me if any other options.
BR
-CW -
How to skip a train step on the basis of field value set by the user
Hi,
I am working with JDev 11.1.1.2.0 and ADF 11g.
I am using Taskflow with train steps. I have a requirement that, say, in 1st step I am showing a screen with many fields.
One such field is a dropdown. On the basis of the selected value of the drop down I want to skip say steps 2 and 3 and jump to step 4. When on step 4 if user click 'back' then it should go back to step 1 rather than 3.
Can this be achieved? If so can anyone pls share a small sample OR send a link?
Thanks in advance.Here a task flow with the skip properties used to evaluate a value that was selected in a lov components in the first page (radio button). Note the use of the attributeValue method to get the attribute from the binding (using inputValue caused a type mismatch when executing the comparison).
<?xml version="1.0" encoding="windows-1252" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
<task-flow-definition id="task-flow-newFlexStandard-definition">
<default-activity id="__1">CreateInsertStandardFlexParameter</default-activity>
<transaction id="__41">
<requires-transaction/>
</transaction>
<data-control-scope id="__42">
<shared/>
</data-control-scope>
<task-flow-reentry id="__43">
<reentry-allowed/>
</task-flow-reentry>
<view id="createNewStandardFlexParameter">
<description id="__22">Saisir le code d'identification interne et les éléments descriptifs du nouveau paramètre standard.</description>
<display-name id="__21">Edition du nouveau paramètre</display-name>
<page>/pages/standardFlexParameter/createNewStandardFlexParameter.jsff</page>
<train-stop id="__2">
<display-name id="__19">Edition de nouveau paramètre standard</display-name>
</train-stop>
</view>
<view id="selectSingleTreeFlexParameter">
<page>/pages/standardFlexParameter/selectSingleTreeFlexParameter.jsff</page>
<train-stop id="__17">
<display-name id="__28">Classe de paramètres unique</display-name>
<outcome id="__44">initializeFlexStandardTreeRow</outcome>
<skip>#{bindings.FsClasscardinality.attributeValue !='1'}</skip>
</train-stop>
</view>
<view id="selectMultipleTreeFlexParameter">
<page>/pages/standardFlexParameter/selectMultipleTreeFlexParameter.jsff</page>
<train-stop id="__18">
<display-name id="__29">Classes de paramètres multiples</display-name>
<skip>#{bindings.FsClasscardinality.attributeValue != '*'}</skip>
</train-stop>
</view>
<view id="selectSingleFlexParameter">
<page>/pages/standardFlexParameter/selectSingleFlexParameter.jsff</page>
<train-stop id="__24">
<display-name id="__27">Sélection d'une occurence de paramètre</display-name>
<skip>#{bindings.FsItemcardinality.attributeValue !='1'}</skip>
</train-stop>
</view>
<view id="selectMultipleFlexParameter">
<page>/pages/standardFlexParameter/selectMultipleFlexParameter.jsff</page>
<train-stop id="__25">
<display-name id="__26">Sélection de plusieurs occurence de paramètre</display-name>
<skip>#{bindings.FsItemcardinality.attributeValue !='*'}</skip>
</train-stop>
</view>
<view id="summaryNewStandardFlexParameter">
<description id="__4">Présentation des éléments saisis ou modifiés. Confirmation ou annulation de l'opération.</description>
<display-name id="__3">Résumé des changements</display-name>
<page>/pages/standardFlexParameter/summaryNewStandardFlexParameter.jsff</page>
<train-stop id="__9">
<display-name id="__23">Résumé des changements et confirmation</display-name>
</train-stop>
</view>
<task-flow-return id="commitNewStandardFlexParameter">
<outcome id="__10">
<name>commitNewStandardFlexParameter</name>
<commit/>
</outcome>
</task-flow-return>
<task-flow-return id="rollbackNewStandardFlexParameter">
<outcome id="__11">
<name>rollbackNewStandardFlexParameter</name>
<rollback/>
</outcome>
</task-flow-return>
<method-call id="CreateInsertStandardFlexParameter">
<method>#{bindings.CreateInsert.execute}</method>
<outcome id="__48">
<fixed-outcome>createInsert</fixed-outcome>
</outcome>
</method-call>
<method-call id="createInsertFlexStandardTree">
<method>#{bindings.CreateInsert.execute}</method>
<outcome id="__32">
<fixed-outcome>CreateInsert</fixed-outcome>
</outcome>
</method-call>
<train/>
<control-flow-rule id="__12">
<from-activity-id id="__13">summaryNewStandardFlexParameter</from-activity-id>
<control-flow-case id="__15">
<from-outcome id="__16">commit</from-outcome>
<to-activity-id id="__14">commitNewStandardFlexParameter</to-activity-id>
</control-flow-case>
</control-flow-rule>
<control-flow-rule id="__49">
<from-activity-id id="__50">CreateInsertStandardFlexParameter</from-activity-id>
<control-flow-case id="__51">
<from-outcome id="__53">createInsert</from-outcome>
<to-activity-id id="__52">createNewStandardFlexParameter</to-activity-id>
</control-flow-case>
</control-flow-rule>
<control-flow-rule id="__6">
<from-activity-id id="__5">*</from-activity-id>
<control-flow-case id="__7">
<from-outcome id="__20">cancel</from-outcome>
<to-activity-id id="__8">rollbackNewStandardFlexParameter</to-activity-id>
</control-flow-case>
</control-flow-rule>
<control-flow-rule id="__30">
<from-activity-id id="__31">*</from-activity-id>
<control-flow-case id="__33">
<from-outcome id="__35">initializeFlexStandardTreeRow</from-outcome>
<to-activity-id id="__34">createInsertFlexStandardTree</to-activity-id>
</control-flow-case>
</control-flow-rule>
<control-flow-rule id="__36">
<from-activity-id id="__37">createInsertFlexStandardTree</from-activity-id>
<control-flow-case id="__39">
<from-outcome id="__40">CreateInsert</from-outcome>
<to-activity-id id="__38">selectSingleTreeFlexParameter</to-activity-id>
</control-flow-case>
</control-flow-rule>
<use-page-fragments/>
</task-flow-definition>
</adfc-config> -
How to skip the first screen in se38
hi experts,
I am struck up somewhere in getters and setters in field symbols.
I am setting the file name field in se38 and trying to directly go to display mode of the program and i am doing that through RS_SPOOL_ACCESS . I am not able to skip the first screen of se38 and go to diplay mode of the program.
How can i do that. Skip first screen is not working.If all else fails, partial BDC may be in order.
report zrich_0003
no standard page heading line-size 255.
data: bdcdata type table of bdcdata with header line.
parameters: p_prog(30) type c.
start-of-selection.
perform bdc_dynpro using 'SAPLWBABAP' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RS38M-PROGRAMM'.
perform bdc_field using 'BDC_OKCODE'
'=SHOP'.
perform bdc_field using 'RS38M-PROGRAMM'
p_prog.
perform bdc_field using 'RS38M-FUNC_EDIT'
'X'.
call transaction 'SE38' using bdcdata mode 'E'.
* 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.
clear bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
append bdcdata.
endform.
Regards,
Rich Heilman -
HT2534 im 14 and i dont have no credit card how can i skip that step?
im 14 and i dont have no credit card how can i skip that step?
None Payment
Did you create a NEW account using the instructions in Creating an iTunes Store, App Store, iBookstore, and Mac App Store account without a credit card using an email address you had not previously used with Apple?
You have to.
You may have to create a new account following the instructions using a new email address.
Maybe you are looking for
-
Ipod classic won't mount after updating to itunes 11.0.2
ipod classic won't mount after updating to itunes 11.0.2. I updated to itunes 11.0.2 today, after delaying it for a looong time (I have it @ work and don't like the new layout). Since then, none of my ipods will mount/show up/update. I've tried all U
-
Early 2011 MBP 17 Random Shutdown and Battery Behavior
Hi all, new to the forums here. I recently purchased a refurbished early 2011 MBP 17' 2.2 Ghz i7 with 8gb and 10.7.5. Out of the box, machine looked great, but I noticed that the power cable was different than the one I had for my early 2011 MBP 15'
-
I am setting up a computer image for my school and next year we want all the macs to switch over to use a secured wireless network instead of the current unsecured one. Unfortunately if you switch the airport to use another wifi signal and back to us
-
Xperia Z1 Call log after a certain update always crashes
After a certain system update on the contacts, everytime when i open my Call Log i got error and hangs off the call log "unfortunately, the process com.android.phone has been stopped" i can't open my ccall log anymore.
-
Hi SDN Firends, Is it possible to use two iterator in the same class?If so how? Using MVC ,I'm having a requirement of displaying two tables in the same page. I dont want to display it by calling from others pages. With Regards, SHARMILA BRINDHA.M