PERFORM build_fieldcat USING '1' CHANGING gt_fieldcat1 .
FORM build_fieldcat USING mode
CHANGING pt_fieldcat TYPE lvc_t_fcat.
CLEAR : pt_fieldcat , pt_fieldcat[] .
PERFORM alv_fieldcat_merge USING 'ALV_FIELDCAT[]' 'GT_OUT' .
PERFORM modify_alv_fieldcat.
CALL FUNCTION 'LVC_TRANSFER_FROM_SLIS'
EXPORTING
it_fieldcat_alv = alv_fieldcat[]
* IT_SORT_ALV =
* IT_FILTER_ALV =
* IS_LAYOUT_ALV =
IMPORTING
ET_FIELDCAT_LVC = pt_fieldcat
* ET_SORT_LVC =
* ET_FILTER_LVC =
* ES_LAYOUT_LVC =
TABLES
it_data = gt_out
EXCEPTIONS
it_data_missing = 1
OTHERS = 2
.
ENDFORM . "build_fieldcat
FORM ALV_FIELDCAT_MERGE USING FCATNAME TABNAME .
ALV_TABNAME = TABNAME .
ASSIGN (FCATNAME) TO <FCAT> .
REFRESH <FCAT> .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = ALV_REPID
I_INTERNAL_TABNAME = ALV_TABNAME
I_INCLNAME = ALV_REPID
I_CLIENT_NEVER_DISPLAY = 'X'
I_BYPASSING_BUFFER = 'X'
CHANGING
CT_FIELDCAT = <FCAT>
EXCEPTIONS
OTHERS = 3.
ENDFORM. " alv_fieldcat_merge
Varyant Değerleri- Get Variant Values of Report
RS_VARIANT_CONTENTS
You can get values of variant by using this function in sap,
valutab table will help you to fill the seltab table which you can use it for submit report .
You can see the code..
QM03 - Bildirim & QM Notification Call
If you want to call QM03 by sending notification from alv hotspot, you can use it..
QM03 hotspot ile çağırırken parametrelere yazdıgınız halde bildirim numarasını koymadıgı zaman aşağıdaki kodu kullanabilirsiniz..
WHEN 'QMNUM'.
FREE MEMORY ID 'QMOB'.
SET PARAMETER ID 'IQM' FIELD wa_stab-qmnum.
CALL FUNCTION 'RS_HDSYS_VALUES_VARIANT'
EXPORTING
i_tcode = 'QMOB'
i_liste = ' '
i_f4_call = ' '
show_std_variant = 'X'
TABLES
e_shdstciu = l_shdstciu_tab
EXCEPTIONS
cancelled = 1
no_variants = 2
OTHERS = 3.
IF sy-subrc <> 0.
CALL TRANSACTION 'QM03' AND SKIP FIRST SCREEN.
ELSE.
READ TABLE l_shdstciu_tab INDEX 1 INTO l_shdstciu.
CALL FUNCTION 'RS_HDSYS_CALL_TC_VARIANT'
EXPORTING
tcode = 'QM03'
variant = l_shdstciu-tcvariant
authority_check = 'X'
variant_check = ' '
call_mode = 'X'
i_flag_skip_first_screen = 'X'
EXCEPTIONS
OTHERS = 0.
ENDIF.
QM03 hotspot ile çağırırken parametrelere yazdıgınız halde bildirim numarasını koymadıgı zaman aşağıdaki kodu kullanabilirsiniz..
WHEN 'QMNUM'.
FREE MEMORY ID 'QMOB'.
SET PARAMETER ID 'IQM' FIELD wa_stab-qmnum.
CALL FUNCTION 'RS_HDSYS_VALUES_VARIANT'
EXPORTING
i_tcode = 'QMOB'
i_liste = ' '
i_f4_call = ' '
show_std_variant = 'X'
TABLES
e_shdstciu = l_shdstciu_tab
EXCEPTIONS
cancelled = 1
no_variants = 2
OTHERS = 3.
IF sy-subrc <> 0.
CALL TRANSACTION 'QM03' AND SKIP FIRST SCREEN.
ELSE.
READ TABLE l_shdstciu_tab INDEX 1 INTO l_shdstciu.
CALL FUNCTION 'RS_HDSYS_CALL_TC_VARIANT'
EXPORTING
tcode = 'QM03'
variant = l_shdstciu-tcvariant
authority_check = 'X'
variant_check = ' '
call_mode = 'X'
i_flag_skip_first_screen = 'X'
EXCEPTIONS
OTHERS = 0.
ENDIF.
Get Variant Name When Running Report- Varyant Adını Alma
Normalde SY-SLSET alanı ile çalışan programda varyant adını alabiliriz fakat eğer programınızı arka planda iş olarak tanımladıysanız
ozaman malesef programda parametre olarak koymak zorundayız..
PARAMETERS: po_varnt TYPE sy-slset NO-DISPLAY.
AT SELECTION-SCREEN OUTPUT.
CHECK sy-batch IS INITIAL.
CLEAR po_varnt.
MOVE sy-slset TO po_varnt .
If the program is run in foreground (sy-batch = space) we can use SY-SLSET to get the variant name. If the program is run in background (sy-batch = 'X') , we can use selection screen parameter po_varnt to get the variant name.
PARAMETERS: po_varnt TYPE sy-slset NO-DISPLAY.
AT SELECTION-SCREEN OUTPUT.
CHECK sy-batch IS INITIAL.
CLEAR po_varnt.
MOVE sy-slset TO po_varnt .
If the program is run in foreground (sy-batch = space) we can use SY-SLSET to get the variant name. If the program is run in background (sy-batch = 'X') , we can use selection screen parameter po_varnt to get the variant name.
Table Fields - Tablo Alanları
DDIF_FIELDINFO_GET
Fonksiyonu ile SE11 tanımlanan istenen tablonun alanlarını elde edebilirsiniz..
Create Job By Code / Kod ile iş kurma
DATA: number TYPE tbtcjob-jobcount,
name TYPE tbtcjob-jobname VALUE 'ZMM_TARIH_STOK',"job name iş adı
print_parameters TYPE pri_params.
Etiketler:
arka alan da job kurma,
by code,
create job,
create job by programme,
iş kurma,
job kurma
Data Element Text Change
Öyle anlar gelirki canlı sistemde data elementin tanımını değiştirerek kullanılan ekranlarında da tanımların değişmesini istersiniz.
DD04T tablosunda data elementin tanımı değiştirilir.
Se11'den data elemente girilierek aktifleştirilir. Bu işlem biraz uzun süre bilir.
Ve hayırlı olsun data elementin
Kaydol:
Kayıtlar (Atom)