Check field in a select-opton
Hi, is there anyone that can help me to solve this problem?
I have 2 seach field in a report,
Filed 1 and field 2
The user put in a value in field 1, the search in field 2 i dependet of what the user have put in into field 1, so, when the user press PF4 in field 2, different value will show up (dependent of value in field 1).
That is no problem if the user press enter between or run the program but if he/she fill in value in field 1 and then directly press PF4 in field 2, there is no value in the SO-table from field 1.
How to check the value?? Please help...
BR//
Hi,
I don't see a real need to create a search help in this case. Here's the sample code which demonstrates the usage of the above Function Module. Besides, the FM itself has very good documentation. I would encourage you to go ahead and read that.
REPORT ZANAND_TEST.
parameters: p_1 type n,
p_2 type i.
data: field_value type DYNFIELDVALUE.
at selection-screen on value-request for p_2.
perform read_field using 'P_1'
changing field_value.
message i398(00) with FIELD_VALUE .
*& Form read_field
* text
* -->P_FIELD_NAME text
* <--P_FIELD_VALUE text
form read_field using value(p_fieldname)
changing p_field_value.
data: dyname like d020s-prog value 'ZANAND_TEST',
dynumb like d020s-dnum value '1000'.
data: begin of dynpfields occurs 3.
include structure dynpread.
data: end of dynpfields.
move p_fieldname to dynpfields-fieldname.
append dynpfields.
call function 'DYNP_VALUES_READ'
exporting
dyname = dyname
dynumb = dynumb
translate_to_upper = 'X'
tables
dynpfields = dynpfields
exceptions
invalid_abapworkarea = 01
invalid_dynprofield = 02
invalid_dynproname = 03
invalid_dynpronummer = 04
invalid_request = 05
no_fielddescription = 06
undefind_error = 07.
read table dynpfields index 1.
move dynpfields-fieldvalue to p_field_value.
endform. " read_field
You might want to comment out the PERFORM statement and observe the current behaviour of your report.
Regards,
Anand Mandalika.
Similar Messages
-
Trouble with calculating fields. Can't select (check) fields. Also can't figure out what's wrong with a division field (percent) that I created. Keep getting the pop up that format of the field doesn't allow blah blah blah... Help!
1. Use the mouse to select the field and then press the space bar.
2. A null string is the same as zero. What is the result for division by zero? -
Error in updating ALV field catalog in selection tool for Planning Book
Hi ,
I am Implementing BADI '/SAPAPO/SDP_SELECTOR' to upload Custom Fields Data in Planning Book Selection Window under APO Location Product. These Custom Fields are maintained in Custom Table.So from Table whatever Custom Fields are availabe all the fields needs to be available in for selection. Once selection is done the same data to be uploaded into Planning Book.
This BADI is working Fine upto 4 fields but if any extra fields are added in the table 'Error in updating ALV field catalog in selection tool' error Pop Up is coming. Here i am using Folloowing Methods
1). INIT_OBJECT_LIST
2). F4
3). LOC_PROD_VALUE_LIST
Please help on the same if u have any idea or clue.
Thanks.Hi Srinivas!
Where did you get your implementation from?
It would be nice if you could debug your code!
For the F4 method, have you seen this note?
Note 544904 - Sample source code f.BAdI /SAPAPO/SDP_SELECTOR ('F4'method)
Also check this note. It contains selection modifications in the BAdI:
Note 376902 - SDP selector: Basis corrections for BADI
I do not know your release and support package in your SCM, but you can find a lot of notes related to this BAdI.
Thank you!
Will
SCM Support Consultant -
Error in updating ALV field catalog in selection
Dear all,
I'm trying to use the standard transaction /SAPAPO/TSKEYFMAIN in order to check the TS values.
After filling the selection variant, the system shows the following error:
'Error in updating ALV field catalog in selection'
Could you please provide me with further details about the error? What could be the possible solution to avoid it?
Many thanks,
SMHi Marius,
thanks for your answer.
I would like to use the /SAPAPO/TSKEYFMAIN transaction to check massively the values in the time series KFs and not just the consistency of them.
So do you know any other transaction to do it or do you have an idea about the error of /SAPAPO/TSKEYFMAIN?
Thanks for your help!
SM -
How to add a field in dynamic selections
HI,
There is a requirement in which i need to add a field in existing program of dynamic selections.
I have added a field in the screen.But I was not able to write the label and is not displaying.
I ahve copied evrything from existing coding.but still.
In the program ,Field groups are being used.
I have inserted my field in that header and item of field groups.
But i was not able to select the data based on this selection.
i will attach my code here for reference.
can anyone please help me how to use these filed symbols.
If possible send me the document on Dynamic selections.
the field i need to add is bkpf-bktxt
TABLES:
tcurx,
lfa1,
kna1,
bhdgd,
bkpf,
bseg,
bsega,
b0sg,
fimsg,
sarkey,
t001,
vbset,
sscrfields.
Selektionsparameter *
begin_of_block 1.
PARAMETERS:
par_nbel LIKE rfpdo-bpetnbel, "Normale Belege
par_vbel LIKE rfpdo-epojvbel, "Vorerfaßte Belege
par_sbel LIKE rfpdo-bpetsbel, "Statistischen Belege
par_mbel LIKE rfpdo-epojmbel, "Musterbelege
par_dbel LIKE rfpdo1-korbdbel. "Dauerbuchungsurbelege
end_of_block 1.
begin_of_block 2.
PARAMETERS:
par_summ LIKE rfpdo1-allgsumm, "nur Summenausgabe
par_hkto LIKE rfpdo2-beljhkto, "Hauptbuch- statt Personenkonto
par_altk LIKE rfpdo1-allgaltk, "alternative Kontonummer
par_lsep LIKE rfpdo-allglsep, "Listseparation
par_mikf LIKE rfpdo-allgmikf, "Mikrofiche-Zeile
par_line LIKE rfpdo1-allgline. "Zusatztitel
Eingaben für optische Archivierung
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: arc LIKE rfpdo1-allgarch.
SELECTION-SCREEN COMMENT 3(29) text-103 FOR FIELD arc.
SELECTION-SCREEN POSITION POS_LOW.
PARAMETERS: arc_msg1(10) MODIF ID arc.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION POS_LOW.
PARAMETERS: arc_msg2(10) MODIF ID arc.
SELECTION-SCREEN END OF LINE.
end_of_block 2.
PARAMETERS: arc_mem LIKE arc_params NO-DISPLAY.
Felder und Feldleisten *
CONSTANTS:
con_true TYPE i VALUE 1,
con_false TYPE i VALUE 2,
con_hash TYPE i VALUE 1,
con_vendor TYPE c VALUE 'K',
con_cust TYPE c VALUE 'D'.
Global Data
DATA: BEGIN OF hash_totals OCCURS 25,
bukrs LIKE t001-bukrs,
poper(7),
dramt LIKE bseg-wrbtr,
cramt LIKE bseg-wrbtr,
END OF hash_totals.
DATA:
factor TYPE i,
Zähler
cnt_bukrs(4) TYPE p, "Anzahl Buchungskreise
cnt_max LIKE sy-tfill, "Maximum der CNT_Ti
cnt_t0 LIKE sy-tfill, "Anzahl Einträge in Ti
cnt_t1 LIKE sy-tfill,
cnt_t2 LIKE sy-tfill,
cnt_t3 LIKE sy-tfill,
cnt_t4 LIKE sy-tfill,
cnt_t5 LIKE sy-tfill,
Fehler
err_altkt(1) TYPE c, "alt. Kontonummer nicht gefunden
Flags
flg_section TYPE i,
flg_vendr2 TYPE i,
flg_vendr3 TYPE i,
flg_color(1) TYPE n, "0 - intensified off
Hilfsfelder
hlp_belnr(10) TYPE c, "Anzeigefeld Belegnummer
hlp_bstat LIKE bkpf-bstat, "Status vorerfaßter Belege
hlp_buper(7) TYPE c, "Buchungsperiode mit '/'
hlp_null(1) TYPE p VALUE 0, "Betrag Null
hlp_sakan LIKE ska1-sakan, "Anzeigefeld Kontonummer
hlp_wrshb(26) TYPE c, "FW-Betrag mit Währung in Klammer
hlp_vnd_amt(43) TYPE c,
Texte
txt_line0(132) TYPE c, "Überschriften
txt_line1(132) TYPE c,
txt_line2(132) TYPE c,
txt_line(132) TYPE c, "Hilfstext
Feldleisten
BEGIN OF mikfi, "Information Mikrofiche-Zeile
bstat LIKE bkpf-bstat,
bukrs LIKE bkpf-bukrs,
gjahr LIKE bkpf-gjahr,
belnr LIKE bkpf-belnr,
END OF mikfi.
Interne Tabellen *
DATA:
Belegkopfinformationen
BEGIN OF t0 OCCURS 4, "0 - allgemeine Angaben
info(1) TYPE n, "1 - vorerfaßter Beleg
END OF t0, "2 - Referenz
"3 - Storno
"4 - gelöschter vorerfaßter Beleg
"5 - ersetzter vorerfaßter Beleg
"6 - Ausgleichsbeleg
"7 - zurückgenommener Ausgleich
Personenkonteninformationen je Beleg
BEGIN OF t1 OCCURS 10,
koart LIKE bseg-koart, "Kontoart
ktonr LIKE bseg-kunnr, "Kontonummer(Debitor/Kreditor)
bschl LIKE bseg-bschl, "Buchungsschlüssel
xnegp LIKE bseg-xnegp, "Negativbuchung
umskz LIKE bseg-umskz, "Sonderumsatzkennzeichen
zlspr LIKE bseg-zlspr, "Payment Block Key - CR 21709
dmshb LIKE bsega-dmshb, "Soll-Haben Betrag in Hauswährung
wrshb LIKE bsega-dmshb, "Betrag in Fremdwährung
xfwae(1) TYPE c, "X - Fremdwährungsinformation
name1 LIKE lfa1-name1, "Customer/ Vendor Name
END OF t1,
Steuerinformationen je Beleg
BEGIN OF t2 OCCURS 10,
mwskz LIKE bseg-mwskz, "Mehrwertsteuerkennzeichen
dmshb LIKE bsega-dmshb, "Soll-Haben Betrag in Hauswährung
END OF t2,
Sachkonteninformationen je Beleg
BEGIN OF t3 OCCURS 20,
mwskz LIKE bseg-mwskz, "Mehrwertsteuerkennzeichen
bschl LIKE bseg-bschl, "Buchungsschlüssel
xnegp LIKE bseg-xnegp, "Negativbuchung
koart LIKE bseg-koart, "Kontoart
hkont LIKE bseg-hkont, "Hauptbuchkonto
dmshb LIKE bsega-dmshb, "Soll-Haben Betrag in Hauswährung
kostl LIKE bseg-kostl, "Cost Center
prctr LIKE bseg-prctr, "Profit Center
END OF t3,
Sonderhauptbuchbeträge für Debitoren (nur Ausgabe)
BEGIN OF t4 OCCURS 5,
umskz LIKE bseg-umskz, "Sonderumsatzkennzeichen
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
END OF t4,
Sonderhauptbuchbeträge für Kreditoren (nur Ausgabe)
BEGIN OF t5 OCCURS 5,
umskz LIKE bseg-umskz, "Sonderumsatzkennzeichen
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
END OF t5,
Summeninformationen je Buchungskreis
BEGIN OF tbukrs OCCURS 20,
bstat LIKE bkpf-bstat, "Belegstatus
bukrs LIKE bkpf-bukrs, "Buchungskreis
START OF CHANGE FOR CR63816 by OS0794 on 01/29/2008
bktxt LIKE bkpf-bktxt,
END OF CHANGE FOR CR63816 by OS0794 on 01/29/2008
gjahr LIKE bkpf-gjahr, "Buchungsjahr
monat LIKE bkpf-monat, "Buchungsmonat
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
waers LIKE t001-waers, "Währungsschlüssel (nur Ausgabe)
END OF tbukrs,
Sonderhauptbuchinformationen je Buchungskreis
BEGIN OF tbukrs_u OCCURS 20,
bstat LIKE bkpf-bstat, "Belegstatus
bukrs LIKE bkpf-bukrs, "Buchungskreis
START OF CHANGE FOR CR63816 by OS0794 on 01/29/2008
bktxt LIKE bkpf-bktxt,
END OF CHANGE FOR CR63816 by OS0794 on 01/29/2008
gjahr LIKE bkpf-gjahr, "Buchungsjahr
monat LIKE bkpf-monat, "Buchungsmonat
koart LIKE bseg-koart, "Kontoart
umskz LIKE bseg-umskz, "Sonderumsatzkennzeichen
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
waers LIKE t001-waers, "Währungsschlüssel (nur Ausgabe)
END OF tbukrs_u,
Summeninformationen je Hauswährung
BEGIN OF twaers OCCURS 10,
bstat LIKE bkpf-bstat, "Belegstatus
waers LIKE t001-waers, "Hauswährungsschlüssel
gjahr LIKE bkpf-gjahr, "Buchungsjahr
monat LIKE bkpf-monat, "Buchungsmonat
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
END OF twaers,
Sonderhauptbuchinformationen je Hauswährung
BEGIN OF twaers_u OCCURS 20,
bstat LIKE bkpf-bstat, "Belegstatus
waers LIKE t001-waers, "Währungsschlüssel
gjahr LIKE bkpf-gjahr, "Buchungsjahr
monat LIKE bkpf-monat, "Buchungsmonat
koart LIKE bseg-koart, "Kontoart
umskz LIKE bseg-umskz, "Sonderumsatzkennzeichen
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
END OF twaers_u,
Fehlerprotokoll im Batch
BEGIN OF tfimsg OCCURS 10.
INCLUDE STRUCTURE fimsg.
DATA END OF tfimsg.
Strukturen für optische Archivierung *
DATA BEGIN OF info OCCURS 10.
INCLUDE STRUCTURE bhinf.
DATA END OF info.
DATA:
arc_save LIKE arc_params,
arc_valid.
Feldgruppen *
FIELD-GROUPS: header, daten.
INSERT:
bkpf-bukrs "Buchungskreis
bkpf-bktxt "Change by OS0794
bkpf-bstat "Belegstatus
bkpf-gjahr "Geschäftsjahr
bkpf-belnr "Belegnummer
bseg-buzei "Buchungszeile
INTO header.
INSERT
bkpf-blart "Belegart
bkpf-bktxt "Change by OS0794
bkpf-budat "Buchungsdatum
bkpf-stblg "Stornobelegnummer
bkpf-waers "Währungsschlüssel
bkpf-xblnr "Referenzangabe
bseg-bschl "Buchungsschlüssel
bseg-xnegp "Negativbuchung
bseg-zlspr "Payment Block Key - CR 21709
bseg-hkont "Hauptbuchkonto
bseg-koart "Kontoart
bseg-kunnr "Debitornummer
bseg-lifnr "Kreditornummer
bseg-mwart "Mehrwertsteuerart (A oder V)
bseg-mwskz "Mehrwertsteuerkennzeichen
bseg-umskz "Sonderhauptbuch-Kennzeichen
bsega-dmshb "S/H-Betrag in Hauswährung
bsega-mdshb "Umsatzsteuerbetrag in Hauswährg
bsega-wrshb "S/H-Betrag in Fremdwährung
hlp_bstat "Status vorerfaßter Belege bzw.
bseg-kostl
bseg-prctr
bkpf-monat
INTO daten. "Status von Belegen ohne Zeilen
Vorschlagswerte *
INITIALIZATION.
get_frame_title: 1,2.
par_nbel = 'X'.
par_sbel = space.
par_mbel = space.
par_dbel = space.
par_vbel = 'X'.
Archivinformationen nur fuer Ausgabe *
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'ARC'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Prüfung und Korrektur der eingegebenen Daten *
AT SELECTION-SCREEN ON arc.
IF arc <> ' ' AND arc_mem(20) = space.
CALL FUNCTION 'GET_ARCHIVE_PARAMETERS'
EXPORTING
in_parameters = arc_save
printer = ' '
IMPORTING
out_parameters = arc_mem
valid = arc_valid
EXCEPTIONS
OTHERS = 04.
IF arc_valid <> 'X' OR arc_mem = space.
CLEAR arc_mem.
MESSAGE e999 WITH text-102.
ENDIF.
arc_msg1 = arc_mem(10).
arc_msg2 = arc_mem+10(10).
ENDIF.
IF arc = ' '.
CLEAR arc_mem.
arc_msg1 = arc_msg2 = space.
ENDIF.
arc_save = arc_mem.
AT SELECTION-SCREEN ON arc_msg1.
arc_msg1 = arc_mem(10).
AT SELECTION-SCREEN ON arc_msg2.
arc_msg2 = arc_mem+10(10).
AT SELECTION-SCREEN.
IF par_nbel EQ space AND
par_mbel EQ space AND
par_dbel EQ space AND
par_sbel EQ space AND
par_vbel EQ space.
SET CURSOR FIELD 'PAR_NBEL'.
MESSAGE e111.
ENDIF.
optische Archivierung
IF arc <> ' ' AND par_mikf <> ' '.
CLEAR arc_mem.
MESSAGE e999 WITH text-100.
ENDIF.
IF arc <> ' ' AND par_lsep <> ' '.
CLEAR arc_mem.
MESSAGE e999 WITH text-101.
ENDIF.
IF arc = 'X' AND sscrfields-ucomm = 'PRIN'.
sscrfields-ucomm = 'ONLI'.
sy-pdest = 'LP01'. "wegen Abfrage in Batch-Heading
ENDIF.
Vorbelegungen *
START-OF-SELECTION.
bhdgd-lines = sy-linsz.
bhdgd-repid = sy-repid.
bhdgd-uname = sy-uname.
bhdgd-separ = par_lsep.
bhdgd-domai = 'BUKRS'.
IF arc = 'X'.
bhdgd-miffl = 'A'.
ENDIF.
IF par_mikf = 'X'.
bhdgd-miffl = 'X'.
ENDIF.
Initialisierung für optisches Archiv
PERFORM open_archive(rsbtchh0) USING arc_mem.
info-name = 'BKPF-BSTAT'. info-len = space. APPEND info.
info-name = 'BKPF-BUKRS'. info-len = space. APPEND info.
info-name = 'BSEG-GJAHR'. info-len = space. APPEND info.
info-name = 'BKPF-BELNR'. info-len = space. APPEND info.
info-name = 'BKPF-BKTXT'. info-len = space. APPEND info.
PERFORM start_archive(rsbtchh0) TABLES info.
b0sg-xstan = par_nbel.
b0sg-xstam = par_mbel.
b0sg-xstad = par_dbel.
b0sg-xstas = par_sbel.
b0sg-xstaa = 'X'.
IF par_vbel EQ 'X'.
b0sg-xstav = 'Z'.
ENDIF.
Selektion *
GET bkpf FIELDS blart bstat budat monat stblg waers xblnr bktxt.
CLEAR hlp_bstat.
IF 'ABVWZ' CA bkpf-bstat.
hlp_bstat = bkpf-bstat.
CLEAR bkpf-bstat.
IF 'ABWZ' CA hlp_bstat.
CLEAR: bseg, bsega.
IF par_summ EQ space.
EXTRACT daten.
ENDIF.
PERFORM summe_merken.
ENDIF.
ENDIF.
GET bseg.
IF par_summ EQ space.
EXTRACT daten.
ENDIF.
PERFORM summe_merken.
GET bkpf LATE.
PERFORM vorerfasste_steuer_merken.
Seitenkopf *
TOP-OF-PAGE.
PERFORM batch-heading(rsbtchh0).
ULINE.
IF flg_section <> con_hash.
FORMAT COLOR 1 INTENSIFIED OFF.
WRITE / txt_line0.
ULINE.
FORMAT COLOR 1 INTENSIFIED.
WRITE: / txt_line1,
/ txt_line2.
ELSE.
FORMAT COLOR 1 INTENSIFIED OFF.
WRITE: / sy-vline NO-GAP,
'Hash Totals'(205),
132 sy-vline.
ULINE.
FORMAT COLOR 1 INTENSIFIED.
WRITE: / sy-vline NO-GAP,
(10) 'CoCd'(200),
(07) 'Period'(201),
sy-vline,
(16) 'Debit Amount'(202),
(16) 'Credit Amount'(203),
sy-vline,
(16) 'Total'(204).
ENDIF.
ULINE.
Sortieren der Daten *
END-OF-SELECTION.
DESCRIBE TABLE tbukrs LINES sy-tfill.
IF sy-tfill EQ 0.
CALL FUNCTION 'POPUP_NO_LIST'.
ENDIF.
SORT.
SORT tbukrs.
Belegjournal *
LOOP.
*-- Neuer Buchungskreis -
AT NEW bkpf-bukrs.
SELECT SINGLE * FROM t001 WHERE bukrs EQ bkpf-bukrs.
IF sy-subrc NE 0.
IF sy-batch EQ space.
MESSAGE a101 WITH bkpf-bukrs.
ELSE.
MESSAGE s101 WITH bkpf-bukrs.
STOP.
ENDIF.
ENDIF.
bhdgd-bukrs = bkpf-bukrs.
bhdgd-werte = bkpf-bukrs.
PERFORM new-section(rsbtchh0).
PERFORM titel_fuellen USING '5'.
ENDAT.
*-- Neuer Belegstatus -
AT NEW bkpf-bstat.
PERFORM new_page USING bkpf-bstat.
flg_color = 1.
ENDAT.
*-- Neue Belegnummer -
AT NEW bkpf-belnr.
REFRESH: t0, t1, t2, t3.
PERFORM belegkopf_merken.
mikfi-bstat = bkpf-bstat.
mikfi-bukrs = bkpf-bukrs.
mikfi-gjahr = bkpf-gjahr.
mikfi-belnr = bkpf-belnr.
bhdgd-grpin = mikfi.
ENDAT.
*-- Belegzeile -
PERFORM belegzeile_merken.
*-- Ende einer Belegnummer -
AT END OF bkpf-belnr.
PERFORM beleg_schreiben.
ULINE.
ENDAT.
*-- Ende eines Buchungskreises -
AT END OF bkpf-bukrs.
PERFORM titel_fuellen USING '4'.
PERFORM buchungskreis_schreiben USING bkpf-bukrs.
ENDAT.
ENDLOOP.
Summenblätter *
bhdgd-bukrs = ' '.
bhdgd-werte = ' '.
PERFORM new-section(rsbtchh0).
PERFORM titel_fuellen USING '4'.
PERFORM buchungskreis_schreiben USING ' '.
PERFORM hauswaehrung_schreiben.
Print Hash Totals *
flg_section = con_hash.
NEW-PAGE.
PERFORM prt_hash TABLES hash_totals.
Fehlerprotokoll *
CALL FUNCTION 'FI_MESSAGE_CHECK'
EXCEPTIONS
no_message = 4.
IF sy-subrc = 0.
IF sy-batch EQ space.
PERFORM titel_fuellen USING '6'.
NEW-PAGE.
FORMAT COLOR 6 INTENSIFIED.
CALL FUNCTION 'FI_MESSAGE_SORT'.
CALL FUNCTION 'FI_MESSAGE_PRINT'
EXPORTING
i_xskip = 'X'.
ELSE.
CALL FUNCTION 'FI_MESSAGE_GET'
TABLES
t_fimsg = tfimsg.
LOOP AT tfimsg.
MESSAGE ID tfimsg-msgid TYPE tfimsg-msgty NUMBER tfimsg-msgno
WITH tfimsg-msgv1 tfimsg-msgv2 tfimsg-msgv3 tfimsg-msgv4.
ENDLOOP.
ENDIF.
ENDIF.
U N T E R P R O G R A M M E *
0. TITEL_FUELLEN *
1. NEW_PAGE *
2. SUMME_MERKEN *
3. VORERFASSTE_STEUER_MERKEN *
4. BELEGKOPF_MERKEN *
5. BELEGZEILE_MERKEN *
6. BELEG_SCHREIBEN *
7. BUCHUNGSKREIS_SCHREIBEN *
8. HAUSWAEHRUNG_SCHREIBEN *
9. SUMMENZEILE_SCHREIBEN *
10. KONTONUMMER *
0. FORM TITEL_FUELLEN *
Ersetzt das Global &CCCU durch die Buchungskreiswährung *
F00_TEXT ist 4, 5 oder 6, je nach Gruppe der Textelemente *
FORM titel_fuellen USING f00_text.
DATA:
BEGIN OF txt_502,
T1(49) TYPE C, "CR 21709
W1(23) TYPE C, "CR 21709
t1(50) TYPE c, "CR 21709
w1(22) TYPE c, "CR 21709
t2(6) TYPE c,
w2(15) TYPE c,
t3(21) TYPE c,
w3(16) TYPE c,
t4(2) TYPE c,
END OF txt_502.
CASE f00_text. "Textelemente
WHEN '4'. "- für die Summenliste
txt_line0 = text-400.
txt_line1 = text-401.
txt_line2 = text-402.
WHEN '5'. "- für die Einzelpostenliste
txt_line0 = text-500.
txt_line1 = text-501.
txt_line2 = text-502.
IF par_hkto EQ 'X'.
txt_line1+33(10) = text-505.
txt_line2+33(10) = text-506.
ENDIF.
txt_502 = txt_line2.
REPLACE '&CCCU' WITH t001-waers INTO:
txt_502-w1, txt_502-w2, txt_502-w3.
CONDENSE:
txt_502-w1, txt_502-w2, txt_502-w3.
WRITE:
txt_502-w1 TO txt_502-w1 RIGHT-JUSTIFIED,
txt_502-w2 TO txt_502-w2 RIGHT-JUSTIFIED,
txt_502-w3 TO txt_502-w3 RIGHT-JUSTIFIED.
txt_line2 = txt_502.
WHEN '6'. "- für die Fehlerliste
txt_line0 = text-600.
txt_line1 = text-601.
txt_line2 = space.
WHEN OTHERS. "- initialisieren
txt_line0 = space.
txt_line1 = space.
txt_line2 = space.
ENDCASE.
ENDFORM. "TITEL_FUELLEN
1. FORM NEW_PAGE *
Initialisierungen für BATCH-HEADING Routine *
F01_BSTAT steuert den Aufbau des Reporttitels *
FORM new_page USING f01_bstat.
CASE f01_bstat. "Reporttitel
WHEN 'D'. "- für Dauerbuchungsurbelege
bhdgd-line1 = text-001.
WHEN 'M'. "- für Musterbelege
bhdgd-line1 = text-002.
WHEN 'S'. "- für statistische Belege
bhdgd-line1 = text-003.
WHEN OTHERS. "- für normale/vorerfaßte Belege
bhdgd-line1 = sy-title.
ENDCASE.
bhdgd-line2 = par_line.
bhdgd-inifl = 0.
NEW-PAGE.
ENDFORM. "NEW_PAGE
2. FORM SUMME_MERKEN *
Merken der Summeninformation *
FORM summe_merken.
CLEAR tbukrs.
tbukrs-bstat = bkpf-bstat.
tbukrs-bukrs = bkpf-bukrs.
tbukrs-bktxt = bkpf-bktxt.
tbukrs-gjahr = bkpf-gjahr.
tbukrs-monat = bkpf-monat.
tbukrs-dmsol = bsega-dmsol.
tbukrs-dmhab = bsega-dmhab.
IF 'DK' CA bseg-koart.
MOVE-CORRESPONDING tbukrs TO tbukrs_u.
tbukrs_u-koart = bseg-koart.
tbukrs_u-umskz = bseg-umskz.
tbukrs_u-dmsol = bsega-dmsol.
tbukrs_u-dmhab = bsega-dmhab.
COLLECT tbukrs_u.
tbukrs_u-monat = 0. "Summe für das Geschäftsjahr
COLLECT tbukrs_u.
ENDIF.
COLLECT tbukrs.
ENDFORM. "SUMME_MERKEN
3. FORM VORERFASSTE_STEUER_MERKEN *
Nachlesen der Steuerzeilen vorerfaßter Belege *
Gefüllt wird TBUKRS und der Extrakt *
FORM vorerfasste_steuer_merken.
CHECK hlp_bstat EQ 'V'.
SELECT * FROM vbset
WHERE ausbk EQ bkpf-bukrs
AND belnr EQ bkpf-belnr
AND gjahr EQ bkpf-gjahr.
CHECK vbset-hwste NE 0.
CLEAR: bseg, bsega.
bseg-koart = 'S'.
bseg-mwart = 'V'. "oder 'A', nur zum Füllen von T2
bseg-mwskz = vbset-mwskz.
IF vbset-shkzg EQ 'S'.
bsega-dmsol = vbset-hwste.
bsega-dmshb = vbset-hwste.
ELSE.
bsega-dmhab = vbset-hwste.
bsega-dmshb = - vbset-hwste.
ENDIF.
IF par_summ EQ space.
EXTRACT daten.
ENDIF.
PERFORM summe_merken.
ENDSELECT.
ENDFORM. "VORERFASSTE_STEUER_MERKEN
4. FORM BELEGKOPF_MERKEN *
Je Beleg werden gefüllt: *
T0 - Informationsflag *
FORM belegkopf_merken.
t0-info = 0. "Belegkopf
APPEND t0.
CASE hlp_bstat.
WHEN 'A'.
t0-info = 6. "Ausgleichsbeleg
APPEND t0.
WHEN 'B'.
t0-info = 7. "zurückgen. Ausgleichsbeleg
APPEND t0.
WHEN 'V'.
t0-info = 1. "vorerfaßter Beleg
APPEND t0.
WHEN 'W'.
t0-info = 5. "ersetzter vorerfaßter Beleg
APPEND t0.
WHEN 'Z'.
t0-info = 4. "gelöschter vorerfaßter Beleg
APPEND t0.
ENDCASE.
IF bkpf-xblnr NE space AND hlp_bstat NA 'BWZ'.
t0-info = 2. "Referenz
APPEND t0.
ENDIF.
IF bkpf-stblg NE space.
t0-info = 3. "Storno
APPEND t0.
ENDIF.
SORT t0.
ENDFORM. "BELEGKOPF_MERKEN
5. FORM BELEGZEILE_MERKEN *
Je Beleg werden gefüllt: *
T1 - Personenkonteninformation *
T2 - Steuerinformation (nicht bei vorerfaßten Belegen) *
T3 - Sachkonteninformation *
FORM belegzeile_merken.
Vendors/ Customers
IF bseg-koart CA 'DK'.
t1-koart = bseg-koart.
IF par_hkto EQ 'X'.
t1-ktonr = bseg-hkont.
ELSEIF bseg-koart EQ 'K'.
t1-ktonr = bseg-lifnr.
ELSE.
t1-ktonr = bseg-kunnr.
ENDIF.
t1-bschl = bseg-bschl.
t1-umskz = bseg-umskz.
t1-xnegp = bseg-xnegp.
t1-zlspr = bseg-zlspr. "CR 21709
t1-dmshb = bsega-dmshb.
t1-wrshb = bsega-wrshb.
t1-xfwae = space.
APPEND t1.
Read the vendor description.
IF bseg-koart = con_vendor.
flg_vendr2 = con_true.
flg_vendr3 = con_true.
CLEAR lfa1-name1.
SELECT SINGLE name1
INTO lfa1-name1
FROM lfa1
WHERE lifnr = bseg-lifnr.
ELSEIF bseg-koart = con_cust.
CLEAR kna1-name1.
SELECT SINGLE name1
INTO kna1-name1
FROM kna1
WHERE kunnr = bseg-kunnr.
ENDIF.
IF bkpf-waers EQ t001-waers.
CLEAR t1.
ENDIF.
t1-xfwae = 'X'.
t1-name1 = lfa1-name1.
IF t1-name1 IS INITIAL.
t1-name1 = kna1-name1.
ENDIF.
APPEND t1.
CLEAR:
kna1-name1,
lfa1-name1.
CLEAR t1.
Save the hash total amounts
CLEAR tcurx-currdec.
SELECT SINGLE currdec
INTO tcurx-currdec
FROM tcurx
WHERE currkey = bkpf-waers.
IF tcurx-currdec = 1.
factor = 10.
ELSE.
factor = 100.
ENDIF.
CLEAR hash_totals.
hash_totals-bukrs = bkpf-bukrs.
CONCATENATE bkpf-monat '/' bkpf-gjahr INTO hash_totals-poper.
IF bsega-wrshb < 0.
hash_totals-cramt = bsega-wrshb * factor.
ELSE.
hash_totals-dramt = bsega-wrshb * factor.
ENDIF.
COLLECT hash_totals.
Tax accounts
ELSEIF bseg-mwart CA 'AV'.
t2-mwskz = bseg-mwskz.
t2-dmshb = bsega-dmshb.
APPEND t2.
IF flg_vendr2 = con_true.
flg_vendr2 = con_false.
CLEAR t2.
APPEND t2.
ENDIF.
GL Accounts
ELSEIF hlp_bstat NA 'ABWZ'.
t3-mwskz = bseg-mwskz.
t3-bschl = bseg-bschl.
t3-xnegp = bseg-xnegp.
t3-koart = bseg-koart.
t3-hkont = bseg-hkont.
t3-dmshb = bsega-dmshb.
APPEND t3.
IF flg_vendr3 = con_true
OR NOT bseg-kostl IS INITIAL
OR NOT bseg-prctr IS INITIAL.
flg_vendr3 = con_false.
CLEAR t3.
t3-kostl = bseg-kostl.
t3-prctr = bseg-prctr.
APPEND t3.
CLEAR t3.
ENDIF.
ENDIF.
ENDFORM. "BELEGZEILE_MERKEN
6. FORM BELEG_SCHREIBEN *
Ausgabe der Belginformationen *
FORM beleg_schreiben.
DATA:
len TYPE i.
Berechnung der benötigten Zeilen pro Beleg
DESCRIBE TABLE:
t0 LINES cnt_t0,
t1 LINES cnt_t1,
t2 LINES cnt_t2,
t3 LINES cnt_t3.
cnt_max = cnt_t0.
IF cnt_max LT cnt_t1.
cnt_max = cnt_t1.
ENDIF.
IF cnt_max LT cnt_t2.
cnt_max = cnt_t2.
ENDIF.
IF cnt_max LT cnt_t3.
cnt_max = cnt_t3.
ENDIF.
ADD 1 TO cnt_max.
IF cnt_max LE 10.
RESERVE cnt_max LINES.
ELSE.
RESERVE 5 LINES.
ENDIF.
SUBTRACT 1 FROM cnt_max.
Farbe setzen
IF flg_color EQ 0.
FORMAT COLOR 2 INTENSIFIED OFF.
flg_color = 1.
ELSE.
FORMAT COLOR 2 INTENSIFIED.
flg_color = 0.
ENDIF.
Index fuer optische Archivierung
PERFORM new-group(rsbtchh0).
DO cnt_max TIMES.
Belegkopfinformationen
WRITE /1 sy-vline NO-GAP.
IF sy-index LE cnt_t0.
READ TABLE t0 INDEX sy-index.
CASE t0-info.
WHEN 0. "Belegkopf
hlp_belnr = bkpf-belnr. "Belegnr. mit führenden Nullen
Referenz auf Originalbeleg
PERFORM start_doc_reference(rsbtchh0)
USING bkpf-bukrs bkpf-belnr bkpf-gjahr bkpf-bktxt. " change*
WRITE:
bkpf-bukrs,
hlp_belnr,
bkpf-blart,
bkpf-budat DD/MM/YYYY.
Ende der Referenz auf Originalbeleg
PERFORM end_doc_reference(rsbtchh0).
WHEN 1. "Vorerfaßter Beleg
WRITE:
(29) text-507.
WHEN 2. "Referenz
WRITE:
(12) text-503,
bkpf-xblnr.
WHEN 3. "Storno
WRITE:
(12) text-504,
bkpf-stblg.
WHEN 4. "Gelöschter vorerfaßter Beleg
WRITE:
(29) text-507,
(40) text-508.
WHEN 5. "Ersetzter vorerfaßter Beleg
txt_line = text-509.
REPLACE:
'&BLN' WITH bkpf-xblnr(10) INTO txt_line,
'&GJR' WITH bkpf-xblnr+10 INTO txt_line.
WRITE:
(29) text-507,
(40) txt_line.
WHEN 6. "Ausgleichsbeleg
WRITE: "
(29) text-510. "
WHEN 7. "zurückgen. Ausgleichsbeleg
WRITE: "
(29) text-511. "
ENDCASE.
ENDIF.
Personenkonteninformationen
Subledger Account Information
WRITE 31(1) sy-vline NO-GAP.
Internal tables T0 - T5 hold data for each section.
IF sy-index LE cnt_t1.
READ TABLE t1 INDEX sy-index.
IF par_hkto EQ 'X'.
PERFORM kontonummer USING t1-ktonr hlp_sakan.
ELSE.
hlp_sakan = t1-ktonr.
ENDIF.
IF t1-xfwae EQ space.
IF t1-xnegp = 'X'.
t1-xnegp = '-'.
ENDIF.
Write the vendor number.
WRITE: t1-koart,
hlp_sakan,
t1-bschl NO-GAP.
IF t1-umskz IS INITIAL.
WRITE: t1-xnegp NO-GAP,
t1-umskz.
ELSE.
WRITE: t1-umskz NO-GAP,
t1-xnegp.
ENDIF.
WRITE: t1-zlspr. "CR 21709 / 23588
WRITE: (22) t1-dmshb CURRENCY t001-waers.
ELSE.
Write the document currency, amount and the
vendor/ customerHi,
Please see documentation of enhancement MM06E005 (transaction SMOD).
Userexit EXIT_SAPMM06E_016 is a component of enhancement MM06E005.
With that enhancement, you can
- Maintain/supply your own customer fields
- Update your own customer-specific tables
You cannot:
- Change standard fields
- Change data that depends on the document header in the items
- Change data that depends on an item in the document header
Please have a look at Business Add-In (BAdI) ME_PROCESS_PO_CUST.
Regards,
Edit -
How to Add a new fields in the selection screen of LDB.
Hi All,
I want to add a new fields in the selection screen of LDB & then i need to select the data for that fields.
So could you please tell me for that where i need to add the code for selecting the data.
Thanks
RoliHi
welcome to SDN forum
If you are designing your own LDB with your own tables you can define tree structure and then the selection screen for the tables
if you wants to modify the std LDB of SAp means take the access key and to modify that code
if you add the extra field you have to modify the where conditions in the code also
see the doc
A logical database is a special ABAP/4 program which combines the contents of certain database tables. You can link a logical database to an ABAP/4 report program as an attribute. The logical database then supplies the report program with a set of hierarchically structured table lines which can be taken from different database tables.
LDB offers an easy-to-use selection screens. You can modify the pre-generated selection screen to your needs. It offers check functions to check whether user input is complete, correct, and plausible. It offers reasonable data selections. It contains central authorization checks for data base accesses. Enhancements such as improved performance immediately apply to all report programs that use the logical database.
Less coding s required to retrieve data compared to normal internel tables.
Tables used LDB are in hierarchial structure.
Mainly we used LDBs in HR Abap Programming.
Where all tables are highly inter related so LDBs can optimize the performance there.
Check this Document. All abt LDB's
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.highlightedcontent?documenturi=%2flibrary%2fabap%2fabap-code-samples%2fldb+browser.doc
GO THROUGH LINKS -
http://www.sap-basis-abap.com/saptab.htm
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9bfa35c111d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c6/8a15381b80436ce10000009b38f8cf/frameset.htm
/people/srivijaya.gutala/blog/2007/03/05/why-not-logical-databases
Re: **LDB**
www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_Logical_Database_FAQ.html
www.sap-img.com/abap/abap-interview-question.htm
www.sap-img.com/abap/quick-note-on-design-of-secondary-database-indexes-and-logical-databases.htm
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/db9bb935c111d1829f0000e829fbfe/content.htm
Gothru the blog which provides info on LDB's:
/people/srivijaya.gutala/blog/2007/03/05/why-not-logical-databases
Sample code
TABLES: SPFLI,
SFLIGHT,
SBOOK,
SCARR.
START-OF-SELECTION.
GET SPFLI.
WRITE:/ SPFLI: , SPFLI-CARRID, SPFLI-CONNID,
SPFLI-AIRPFROM, SPFLI-AIRPTO.
GET SFLIGHT.
WRITE:/ SFLIGHT: , SFLIGHT-CARRID, SFLIGHT-CONNID, SFLIGHT-FLDATE.
GET SBOOK.
WRITE:/ SBOOK: , SBOOK-CARRID, SBOOK-CONNID,
SBOOK-FLDATE, SBOOK-BOOKID.
GET SFLIGHT LATE.
WRITE:/ GET SFLIGHT LATE: , SFLIGHT-FLDATE.
Regards
anji -
User must fill at list one field in a selection screen in report
Hi experts,
i have a report that the user should choose between 2 fields or he can fill them both. but he must to fill at list one of them- at the selection screen.
how do i check that the user filled at list one of them.
any help will be appreciate it.
dana.Hi ,
You can check that in AT SELECTION-SCREEN event.
To validate that in the IF condition check whether any one of the parameters
filled or not.If both the fields are initial then give a error message to proceed further.
Check the code -
PARAMETERS : p_name(20) TYPE c,
p_id(10) TYPE c.
AT SELECTION-SCREEN.
IF p_name IS INITIAL AND p_id IS INITIAL .
MESSAGE 'Enter at least one field' TYPE 'E'.
ENDIF.
START-OF-SELECTION.
WRITE 'Test'.
Regards
Pinaki -
Adding field in the selection-screen of a zprogram
hi gurus,
i have to add field in the selection-screen of oppurtunities. in database i have a field salesvalues, some of oppurtunity guids have this field value. first i need to add in selection-screen in this alv report. and fetch the data from ztable into required field . if the input fields of the salesvalues field id filled, then filter the global guids(from global table which had the guid values already) with this guids related to salesvalues. and if one single guid mathes to 2 values of salesvalues then concatenate 2 values with comma and display in single field. if select-options are blank then fetch all opportunity guids which have salesvalues. pls give solution.Hi Srini,
Thanks for your Reply
I have kept 01 against the field BSEG-AUGDT and selected the preselect check box also.
But still that field is not visible in the dynamic selection screen.
Thanks
Ajay.D -
Functional area(FKBER field in the selection screen of the report painter))
Hi,
I have a requirement to add functional area field in the selection screen for a report painter report. This report using library 1VK and table 'CCSS'. I added functional area field in the general data selection . After the execution of report with functional area field filled with value. report not giving any output. do i need to maintain any setting to achieve?
Regards,
Palani1. Call GR22 and click "Characteristics".
2. Check FKBER and assign a position number to it.
3. Save and close the library.
4. Call your report in GRR2 and you should now see FKBER as an available characteristic.
5. Use it in the General Data Selection or as a Lead Column, as per requirement.
Or,
1. Call GR21 and create a custom library. Provide a name and description and also provide a library you can copy from (scan for the best-fit library).
2. Now follow the steps 2 through 5 above to achieve your result.
Hope this helps.
Cheers. -
Re- Single click in the check box ensure to select all check boxes
Hi All,
I have an issue to notify the urgency of the cart to the buyer while creating the cart.For that scenario we have a check box in the Basic data of shopping cart.I added the check box in the basic data. Now the quote check box is available for all the line items.
The requestor can select any check box in any line items,so whenever he selects the check box- automatically all the check box should get selected , if any of the check box get deselected then imediatelely all the check box in different line items also should get deselected.Hi Batchu,
Thanks for your reply, See if you add any custom field it will come one by one in the basic data section. Adding one more check box doesnot work for this case.
Moreover the problem is change to any particular line item can be captured in DOC_CHANGE_BADI but i cannot bring the same change to all line items (ie) If 3 rd line item check box is marked then immediately rest of the line item also should get marked.
In the case of DOC_CHECK_BADI to identify the line on which the change happens is tough.
SO thats is the problem for me to bring the logic in the code.
Please if any one come across similar kind of issue please give your suggestion.
Thanks,
Sibi -
How to get a check box on the selection screen
Hi all
can any body tell me how to get a check box on the selection screenparameter: pa_check as checkbox.
To define the input field of a parameter as a checkbox, you use the following syntax:
PARAMETERS <p> ...... AS CHECKBOX ......
Parameter <p> is created with type C and length 1. In this case, you may not use the additions TYPE and LIKE. Valid values for <p> are ' ' and 'X'. These values are assigned to the parameter when the user clicks the checkbox on the selection screen.
If you use the TYPE addition to refer to a data type in the ABAP Dictionary of type CHAR and length 1 for which 'X' and ' ' are defined as valid values in the domain, the parameter automatically appears as a checkbox on the selection screen.
REPORT DEMO.
PARAMETERS: A AS CHECKBOX,
B AS CHECKBOX DEFAULT 'X'. -
How do we validate input fields on the selection screen
How do we validate input fields on the selection screen
hi balram,
u can validate input fields using <b>AT SELECTION-SCREEN</b> Event.
PARAMETERS : p_werks TYPE marc-werks.
AT SELECTION-SCREEN ON p_werks.
SELECT SINGLE *
FROM t001w
WHERE werks = p_werks.
IF sy-subrc <> 0.
MESSAGE 'Invalid Plant' TYPE 'I'.
ENDIF.
Like this, we can validate user input for plant.
check this link:
http://help.sap.com/saphelp_nw04s/helpdata/en/9f/db9a2e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/56/1eb6c705ad11d2952f0000e8353423/content.htm
Reware me if useful......
Harimanjesh AN -
SQ01 - Adding a field to the Selection Screen
Hi All,
I need to add a new Selection Criteria in the Selection Screen for an existing SQ01 Query.
Please advise the procedure to do the same.
Regards,
RRHi,
You have marked this thread as being answered, however, neither of your questions has been specifically addressed in the answers provided.
You can make any field from any infotype a selection field in SQ01. First, in Settings --> Settings uncheck the Graphical Query Painter. Enter the query and use the yellow arrows to the right to reach the Selection screen. Here, any field in your query can be checked to become a selection field. If the Graphical Query Painter is checked, go to your query. On the left you have your infotypes and fields. Checking the right hand box will make any field in your query a selection field.
For your second question, if you create your query in SQ01 in the "Global Area" it is transportable when saved and you should get a pop-up requesting the transport number. If you save a selection screen for that query with the starting designation "CUS&", it is also transportable when saved the pop-up should also appear.
Paul -
Can you "combine" criteria for 2 or more fields on a Selection Screen?
Good day everyone,
Here's my question: I understand that I can put fields on a Selection Screen and pre-fill them with data values. In this particular case, I want to pre-fill a couple of hidden fields with data values that will be used as criteria when I read data from the database; however, I need to pull back records that have this COMBINATION of data. For example:
WERKS BTRTL
Z002 Z001
Z002 Z002
Z003 Z001
Z003 Z002
So in my SQL, if I say "werks IN s_werks" and "btrtl IN s_brtrl", true, it will still work. But really, I need to say "if werks = 'z002' and btrtl = 'z001', or werks = 'z002' and btrtl = 'z002', etc. I can't rely on the simple "IN" functionality because it's possible a new value could be added in the future:
WERKS BTRTL
Z003 Z003
So if I use the "IN" logic and the record has werks = 'Z002' and btrtl = 'Z003', it would be returned. But I really don't want it returned, since a combination of werks = 'Z002' and btrtl = 'Z003' doesn't exist in my table of valid combinations.
Is this even possible to do in a Selection Screen? Do I go ahead and populate the fields separately, use the "IN" functionality, then spin through my resulting internal table and delete anything that doesn't match my "table" of valid combinations? Do I skip putting these on a Selection Screen completely and check the values in my SQL statement?
Thanks in advance -- points, as always, will be given.Hi
Yuo can try to use FOR ALL ENTRIES option.
IF you have:
WERKS BTRTL
Z002 Z001
Z002 Z002
Z003 Z001
Z003 Z002
You should do something like that:
DATA: BEGIN OF <TAB_SEL> OCCURS 1,
WERKS TYPE WERKS,
BTRTL TYPE BTRTL,
END OF <TAB_SEL>.
WERKS BTRTL
<TAB_SEL>-WERKS = 'Z002'. <TAB_SEL>-BTRTL = 'Z001'.
APPEND <TAB_SEL>.
<TAB_SEL>-WERKS = 'Z002'. <TAB_SEL>-BTRTL = 'Z002'.
APPEND <TAB_SEL>.
<TAB_SEL>-WERKS = 'Z003'. <TAB_SEL>-BTRTL = 'Z001'.
APPEND <TAB_SEL>.
<TAB_SEL>-WERKS = 'Z003'. <TAB_SEL>-BTRTL = 'Z002'.
APPEND <TAB_SEL>.
SELECT * FROM <TABLE> INTO TABLE ITAB
FOR ALL ENTRIES IN <TAB_SEL>
WHERE WERKS = <TAB_SEL>-WERKS
AND BTRTL = <TAB_SEL>-BTRTL.
In this case you need to fill correctly the internal table <TAB_SEL> with the all combinations.
Max -
To get plant field in my selection screen based on user profile maintained
Hi All,
I have plant (WERKS) field in my selection screen. Now I need to get the plant value maintained in the user profile for that user. So how to get the plant value based on the user profile.
Please let me know if anyone having idea on this. I will reward to you with the valid points.
Regards
raghu.Hi Raghu,
I have searched and found this information, check it may help you
Check the SY-UNAME with the the name of the Plant
User Plant user data take it from T001W table
and All logon User data will be in USR02 table
take the data from corresponding tables and check.
If you are working in SRM
Use FM BBP_READ_ATTRIBUTES to get the User plant after passing the User ID to the FM.
in SUIM go to Users by Complex Selection criterion.
In that there would be the Authorization Object..select an object which has the value plant in it and enter the value inthat....
Also u can enter WERKS value as 1120 in the object field and get the list,
Regards,
Satish
Maybe you are looking for
-
Problems with decimal places and formatting
Hi , we are having problems with an add on running on different localization companies. Decimal places separatd by "," differ from other localizations. We dont know if this is a SQL collation setting or somethng related to code or requirements to run
-
Iphone 5 issues with wifi connection
Hope someone can help. in the past few days my iphone 5 cannot or will not connect to the wifi network in my home. It will connect if in close proximity to the home hub. Hub security been checked and all ok My phon has worked fine with wifi until t
-
Dear Gurus, I am very much new Application Server, Now what i need is i have installed only J2EE in old server and deployed a custom application, now i want to take that custom application and put it on new server where actually 10gAS is installed, b
-
I want to use the microphone built in to the MacBook Pro while still outputting audio through the Apple Earphones. This is because the microphone on my earphones has stopped working. If anyone knows how to do this, please tell me
-
SAP Management Console (5NN13 port) does not open in Firefox or IE browser.
Hi , Title: SAP Management Console (5NN13 port) does not open in Firefox or IE browser. Iam not able to see the pop up window SAPMC when i run the following in firefox browser but it works fine in my colleague's computer: http://hostname:5NN13 I test