Enhancing Dynamic selections
Hi
I need to add a field BKPF-USNAM in dynamic selections screen of report FBL5N.
I need to add in the Documents folder of Dynamic selections,
The folder Documents contains fields of BSIS and some of BKPF table.
I need to make it appear on the screen, I know in the LDB selections,
there is field selection for BKPF table, I can see field Entry date appear on the dynamic selections, I dont know how to make appear other fields from BKPF table.
Hi
I need to add a field BKPF-USNAM in dynamic selections screen of report FBL5N.
I need to add in the Documents folder of Dynamic selections,
The folder Documents contains fields of BSIS and some of BKPF table.
I need to make it appear on the screen, I know in the LDB selections,
there is field selection for BKPF table, I can see field Entry date appear on the dynamic selections, I dont know how to make appear other fields from BKPF table.
Similar Messages
-
Unable to enhance dynamic selections in FAGLL03
Followed Note 945932 to extend FAGLFLEXA by adding the fields to CI_FAGLFLEXA.
The fields (BSEG-XREF3) appeared in the dynamic selections but if I try to use the field, it throws the following error:
===============================================================================================
MSITEM 103 - Custom selections deleted because fields not active in ledger
Custom selections deleted because fields not active in ledger
Message no. MSITEM103
Diagnosis
Either you have entered custom selections or you have switched between ledgers and had already entered custom selections for the previous ledger.
System Response
From the custom selections, the program deletes any entries for fields that are not active in the ledger currently selected.
Procedure
If necessary, adjust the custom selections for the currently selected ledger.
===============================================================================================
Is there anything else that I need to do to use the dynamic selections ? How do I activate the field in the ledger ? Looks like most of the fields in the ledger are being read from the totals tables - FAGLFLEXT.
Any help will be greatly appreciated.
Thanks
SridharSE16 - added the fields in FAGLFLEXA as per the note. It said not to add an "append structure". So I went in and added the field directly.
-
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 -
Adding of new field in dynamic selection for financial statements
Hi ALL,
I want to add Trading partner in dynamic selection fields of financial statement report at document level not yet GL master level: S_ALR_87012284 - Balance Sheet / Profit and Loss Statement .
Can any one tell how to proceed?
I have referred notes: Note 188663 - Enhancing selection views and dynamic selection.
But exactly I am unable to find which logical database has to be given?
regs,
ramesh bHi,
If you want to add extra field in your report you can do the setting in Layout selection. If it is not available kinldy check any SAP notes available or not. Otherwise do Zreport with your ABAPer.
Regards,
Mohan. -
How to Add fields in dynamic selection LDB BRF
Hi All,
I have requirement to add a field BSEG-ZLSCH in Logical Database BRF dynamic selection.
I have tried doing the same by using below mentioned link but its not appearing in the report dynamic selection screen
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b0e0039a-0d79-2c10-0aaf-9f6c062c0ffb?quicklink=index&overridelayout=true
Could you please help me a Legal change delivery is pending due to this issue.
Thanks and best regards,
Niteesh RaiDear Niteesh,
The Logical Data Base BRF reads table BKPF and BSEG, but there is no
option to include fields from BSEG in the dynamic selection.
You can display all the tables included in BRF, but only fields from
BKPF could be included in the dynamic selection. You cannot add
entries from BSEG, BSET, KNB1, KNBK, and so on that are listed here.
You are right, there is not note that explains this behaviour, but I
inform you what is the system design. This has been confirmed by my
Development colleagues.
Regarding to note 832997, this is valid for releases 500 and 600 when
New G/L is available. The system functionality has been enhanced in
release 500 so you can add fields from FAGLFREESEL that is similar
to BSEG with New G/L.
BR, Hana -
FI drilldown reports- cant get Line item details in dynamic selection
Hi,
In FI drill down reports line item analysis, i create form in FDI4.I get document currency as a key figure.
While executing a report in tcode FDI0. i gave company code,dealer and currency as 'EUR' in dynamic selection,.
the correct output value '1245678.98' also displaying ,but i am not able to get line item details for the value '1245678.98'.
the path to get line items is Extras-->Line items.
it shows message as 'The value for characteristic Currency is not unique. Reposition the cursor'.
how to display line item details.
plz help.Hi,
You can get this functionality with Virtual Key figures.
You will have the complete dataset in the RSR00002 Enhancement in CMOD.
Thank you
Arun -
Add field in dynamic selections of FBL3N
Hi,
I know this question has been post before and i have followed the sap note 188663 and 832997, and also I read it in the wiki tab, "Enhancing Selection Views in the dynamic selection of FB03, FBL3n, FBL5n and etc".
But no available for me.
Requirement: Accounting document entry date(BKPF-CPUDT) need to be added in the dynamic selection in FBL3N.
I did the following customizations, but it doesn't work.
1.Execute Transaction code SE36. Enter "SDF" in Logical database field.
2.From the initial screen of SE36, Choose from the path EXTRAS>> Selection Views
3.Change the selection views "CUS".
4.double click table BKPF, and enter "02" in function group of Accounting document entry date(BKPF-CPUDT).
But, when I execute FBL3N, the custmized filed was not displaying in dynamic selection.
And then, I found there is no BKPF table in dynamic selections setting in front screen of SE36. ( Menu path : Extras >>Dynamic selections ).
So, I modified the Selections of Subobjects as belows.
"SELECTION-SCREEN DYNAMIC SELECTIONS FOR TABLE BKPF."
When I use a test run(F8) in SE36, I could get the additional field in the dynamic selection.
However, I still could not get it in executing FBL3N.
I see that there is a Edit -> generate -> selections and program in front screen of SE36, and when I selected, the message was displayed as "The slections for LDB SDF cannot be generated (already exist)".
Please assist me.
Thanks in advance.
WeiyangDear Weiyang
kindly note that as per SAP note 310886 Only certain tables or fields are permitted
Permitted tables:
SKA1: all fields
SKB1: all fields
BSIS: all fields
no other table is allowed
so your field BKPF-CPUDT is not allowed in dynamic selection
Hope your query is solved
Cheers
IMK -
Adding new table dynamic selection screen of transaction FBL5N (LDB DDF).
Hi,
I have a requirement to add SEGMENT (CEPC-SEGMENT) field on the dynamic selection screen of transaction FBL5N (LDB DDF).
Please let me know how can I meet this requirement
ThanksI did not find any screen exits for this Tcode, may be you need to use enhancement spots.
-
How to do dynamic selection for fields
Hi,
Can you please help me on this.
I am adding the custom fields to the standard trasactions CJI3, CJI4, CJI5 for dispalying the line items. For this I am using COOMEP01 CO-OM: Information system -> line item reports enhancement.
I am displaying the custom fileds for line items.
The problem is...In all three t.codes I am having dynamic selection icon. user wants, selection is based on my custom fields...How to get my custom fileds on the selection screen?
Please assist me as soon.
Regards,
RaviHai reddy
This example shows how different transactions codes can be used to produce different selection options for the same program. The example allows for lookups on Sales Order number, Purchase Order Number, Delivery Number or Invoice number.
*--- SELECTION OPTIONS -
SELECTION-SCREEN BEGIN OF BLOCK SO WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,"Sales order number
S_VBELND FOR LIKP-VBELN,"Delivery number
S_VBELNI FOR VBRK-VBELN,"Invoice number
S_VBELNP FOR VBKD-BSTKD."PO number
SELECTION-SCREEN END OF BLOCK SO.
*--- EVENT AT SCREEN OUTPUT -
AT SELECTION-SCREEN OUTPUT.
CASE SY-TCODE.
WHEN 'ZEDI6'.
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
WHEN 'ZEDI6D'. "Delivery select
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
WHEN 'ZEDI6I'. "Invoice select
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
WHEN 'ZEDI6P'. "PO select
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
ENDCASE.
Thanks & regards
Sreenivasulu P -
Adding material field in dynamic selection of FBL3N
Hi,
We need to add material field in the dynamic selection of FBL3N report.
I have gone through SCN forums but not found any related info and searched in service marketplace for related SAP notes and found 310886 as per this note.
G/L accounts: logical database: SDF
Permitted tables:
SKA1: all fields
SKB1: all fields
BSIS: all fields
But material field is not available in BSIS table, is there any way to add material in the dynamic selection of FBL3N report.
Regards,
RK.Hi bhi,
Please check BTE 1650. You need to enhance the table. Please give the functional module to your ABAPer. He will do the rest.
Regards,
Kishore -
Dynamic Selection screen in FDK43 transaction
HI,
The transaction FDK43 has a dynamic selection screen used from LDB DDF .It does not show all selections views in the dynamic selection but when I test the LDB from se36 its shows all the selections in dynamic selections.
Any idea why it is not showind in the transaction FDK43 ??
Regards,
ShitalHi,
LDB fields are nothing to do with Dynamic Selection. It is not necessary that all the field of LDB should be visible in Dynamic Selection. FDK43 is a standard screen and SAP has designed the dynamic selection with limited option. If you want additional fields, you need to do the enhancement with the help of ABAPer.
Regards,
Ravi -
hi
We are developing trial for vendor and customer, for which we are using
business place as a key field to filter the data , as we had validation
for this at transaction level. I made for enhancement by
using logical database KDF. Now as per my developer following are the
things which he has done
I make a Copy from SAP Selection view to Custom Selection View(Created by
Customer) for logical Database KDF and add a function Group(02) in BSIK-BUPLA.
Plz Guide us for the same, as the report is needed on business place level
When we are executing the report( program name RFKUML00 ) as the changes
we made is showing business place in dynamic selection, but the output is
not affected by business place, means it is not fetching the values as
per business place.
Nitin GargHi Nitin,
I don't think you can fulfill your requirement by only creating custom selection view of logical database KDF and assiging field group '02' to field BSIK-BUPLA.
Because if you see the code of program RFKUML00, it only fetching records related with table LFA1,LFB1 ad LFC1.
I suggest you to copy RFKUML00 into a Z program and then modified this as per your requirements.
Regards,
Vijay -
How to add into dynamic selection criteria (FBL1N) - custom field from LFB1
Hello all,
i have following problem. I added new customer field into table LFB1 (Z* field). And now i need to use this field as dynamic selection criteria in transaction FBL1N. I enhanced selection view for logical database KDF - i have created new customer view and I added my new field from LFB1. It is OK, i see this field in dynamic selection criteria in FBL1N but if i try to select according that Z* field, short dump occured.
open cursor with hold LC_KRED for select (VF_KRED_FIELDS)
from <b>VF_KRED</b>
where LIFNR in KD_LIFNR
and BUKRS in KD_BUKRS
and LAND1 in KD_LAND1
and KONZS in KD_KONZS
and VBUND in KD_VBUND
and AKONT in KD_AKONT
and BUSAB in KD_BUSAB
and (VF_KRED_WHERE)
Problem is in VF_KRED - this is database view (LFA1 joins LFB1). This view has no Z* fields and therefore it cannot be use in statement above -> dump.
Is needed repature of standard - enhancement of view VF_KRED?
Thank you very much.Hi guys,
thanks so far. I managed to show prompts in the report. But still my problem is nor 100% solved
I would like t achieve that the filtered criteria in the report title is separated through a comma like in the report filter summary - e.g.: {001, 002, 003, 004} followed by just 1chart/table that is including the whole information.
When I however just drag a variable into the report it automatically created different sections, right? Like ........ table, chart, whatever... .......table chart whatever........
Regards -
How to get resultset from procedure having dynamic select sql query ?
Hi,
I have created a procedure, in which there is dynamic select query. The procedure has one out put parameter which gives error code. When I compile that procedure it compiles successufully. When I run it it executes successfully and gives output error code. But I don't know how to get resultset of that dynamic select sql query. I need that.
This is the procedure:
create or replace
PROCEDURE uspGetProductDetailsMultiOrder
v_DefinitionDBName IN VARCHAR2,
v_CommonDBName IN VARCHAR2,
v_Filter_FilledStatus IN VARCHAR2,
v_Filter_Internal_Counterparty IN nvarchar2,
v_Filter_NoteType IN nvarchar2,
v_Filter_Exchange IN nvarchar2,
v_Filter_Issuer IN nvarchar2,
v_Filter_Product_Category IN VARCHAR2,
v_DateToFilter IN VARCHAR2,
v_Filter_FromDate IN VARCHAR2,
v_Filter_ToDate IN VARCHAR2,
v_Active_YN_Flag IN NVARCHAR2,
v_Entity_ID IN NVARCHAR2,
v_ErrorNumber OUT NUMBER
as
v_SelectSQL nvarchar2(32767);
v_Setting_Name nvarchar2(32767);
v_Default_Value nvarchar2(32767);
v_Config_Value nvarchar2(32767);
v_CCY_ID NUMBER(10,0);
v_CCY_Data nvarchar2(32767);
v_CCY_List nvarchar2(32767);
v_Seq_Id NUMBER(10,0);
SWV_Active_YN_Flag NVARCHAR2(1);
SWV_VarStr long;--varchar2(4000);
SWV_TRANCOUNT NUMBER(10,0);
SWV_fnc_SplitString_Id_var1 NUMBER(10,0);
SWV_fnc_SplitString_Id_var0 NUMBER(10,0);
CURSOR RestrictTermsheetVisibilityByC
IS select CS.Setting_Name,Default_Value,Config_Value
from Config_Settings CS LEFT OUTER JOIN Entity_Config EC ON EC.Setting_ID = CS.Setting_ID
where EC.Entity_ID = v_Entity_ID AND Setting_Level = 'ENTITY';
CURSOR Get_RestrictCCY_List_Cursor IS SELECT Id_1,Data_1 FROM table(fnc_SplitString(v_Config_Value,','));
--CURSOR Get_RestrictCCY_List_Cursor IS SELECT Id,Data FROM imp;
CURSOR GetRestrictTemplateListCursor
-- is select id,data from imp;
IS SELECT Id_1,Data_1 FROM table(fnc_SplitString(v_Config_Value,',')) ;
--Parikshit 18-Jul-2010, active YN flag param added in SP
BEGIN
SWV_Active_YN_Flag := v_Active_YN_Flag;
if SWV_Active_YN_Flag = ' ' then
SWV_Active_YN_Flag := 'Y';
end if;
v_SelectSQL := ' ';
v_SelectSQL := v_SelectSQL || ' Select ';
v_SelectSQL := v_SelectSQL || ' NM.Note_Master_Id, NM.Product_Name, NM.Template_ID, NM.Template_Sr_No, NM.Asset, NM.Exchange, NM.Type, NM.Currency';
--SET @SelectSQL = @SelectSQL + ' , NM.Trade_Date, NM.Value_Date, NM.Valuation_Date, NM.Maturity_Date, NM.Tenor, NM.Strike_Price_Percentage, (case when (NM.Type like '' ELN%'' or NM.Type like ''RELN%'') THEN NOP.Issue_Price Else NM.Customer_Price End) as Customer_Price, NM.Dealer_Price, (case when (NM.Type like '' ELN%'' or NM.Type like ''RELN%'') THEN NOP.Customer_Yield Else NM.Customer_Yield End) as Customer_Yield, NOP.Dealer_Cost_PA as Internal_Cost '
v_SelectSQL := v_SelectSQL || ' , NM.Trade_Date, NM.Value_Date, NM.Valuation_Date, NM.Maturity_Date, NM.Tenor, NM.Strike_Price_Percentage, (case when (NM.PriceList_YN = ''Y'') THEN NOP.Issue_Price Else NM.Customer_Price End) as Customer_Price, NM.Dealer_Price, (case when (NM.PriceList_YN = ''Y'') THEN NOP.Customer_Yield Else NM.Customer_Yield End) as Customer_Yield, NOP.Dealer_Cost_PA as Internal_Cost ';
v_SelectSQL := v_SelectSQL || ' , NM.Minimum_Issue_Size, NM.Maximum_Issue_Size, NM.Minimum_Tolerence_Amount, NM.Maximum_Tolerence_Amount, NM.Trigger_Amount_Warning, nvl(NM.PerUnit_Equivalent_Amount,1) as PerUnit_Equivalent_Amount, NM.Active_YN_Flag, NM.Verify_YN_Flag ';
v_SelectSQL := v_SelectSQL || ' , NM.Tranche_YN_Flag, NM.Launch_Date, NM.Open_Date, NM.Close_Date, NM.PreHedged_YN, NM.Created_By, NM.Created_At, NM.Verified_At, NM.Verified_By, NM.ISIN, NM.Issuer';
v_SelectSQL := v_SelectSQL || ' , NM.Product_Catagory as Product_Category, NM.Note_Issuer_Type as Issuer_Category, NM.Series_No as Series_No, NM.Minimum_Investment_Amount ';
--Added by Parikshit on 14-Jun-2011, to remove the unwinding amounts from the total issue size
--SET @SelectSQL = @SelectSQL + ' , NOP.LastTimeWhenProductModified,NOP.Nominal_Amount as Current_Issue_Size, NOP.Filled_Status, NM.Counterparty as Internal_Counterparty '
v_SelectSQL := v_SelectSQL || ' , NOP.LastTimeWhenProductModified,(NOP.Nominal_Amount - nvl(ND.Unwind_Amount,0) ) as Current_Issue_Size, NOP.Filled_Status, NM.Counterparty as Internal_Counterparty ';
--********************************************************END
v_SelectSQL := v_SelectSQL || ' ,T2.Confirmed_Amount, T2.Confirmed_Shares';
v_SelectSQL := v_SelectSQL || ' , T3.Live_Deals';
v_SelectSQL := v_SelectSQL || ' , BS.Net_Trade_Hedged, BS.Net_Trade_Outstanding, BS.Hedged_Nominal_BUY, BS.Hedged_Nominal_SELL, BS.Outstanding_Nominal_BUY, BS.Outstanding_Nominal_SELL ';
v_SelectSQL := v_SelectSQL || ' , ( case When UPPER(NM.PreHedged_YN) = ''Y'' Then ''Launched'' ';
v_SelectSQL := v_SelectSQL || ' When ((NM.Maturity_Date IS NOT NULL) AND to_date(NM.Maturity_Date) <= to_date(sysdate)) Then ''Matured''';
v_SelectSQL := v_SelectSQL || ' When (UPPER(NM.PreHedged_YN) = ''N'' AND NM.Launch_Date IS NOT NULL) Then ''Launched''';
--Ready to launch
v_SelectSQL := v_SelectSQL || ' When (UPPER(NM.PreHedged_YN) = ''N'' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= NM.Minimum_Issue_Size) AND to_date(Close_Date) > to_date(sysdate) ) Then ''Ready To Launch''';
--Ready to launch
v_SelectSQL := v_SelectSQL || ' When (UPPER(NM.PreHedged_YN) = ''N'' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= (NM.Minimum_Issue_Size - NM.Minimum_Tolerence_Amount)) AND to_date(Close_Date)= to_date(sysdate) ) Then ''Ready To Launch''';
v_SelectSQL := v_SelectSQL || ' When (UPPER(NM.PreHedged_YN) = ''N'' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= (NM.Minimum_Issue_Size - NM.Minimum_Tolerence_Amount)) AND to_date(Close_Date)< to_date(sysdate) ) Then ''Ready To Launch''';
--Warning trigger reached
v_SelectSQL := v_SelectSQL || ' When (UPPER(NM.PreHedged_YN) = ''N'' AND NM.Launch_Date IS NOT NULL AND (T2.Confirmed_Amount >= NM.Trigger_Amount_Warning )) Then ''Warning Trigger Reached''';
v_SelectSQL := v_SelectSQL || ' Else ''Not Ready'' ';
v_SelectSQL := v_SelectSQL || ' End)Launch_Status';
v_SelectSQL := v_SelectSQL || ' , NI.Issuer_Code';
v_SelectSQL := v_SelectSQL || ' , (nvl(NOP.Nominal_Amount,0) - nvl(T2.Confirmed_Amount,0)) as Unconfirmed_Amount, NM.Upfront as Upfront, case when UPPER(NM.PreHedged_YN) = ''Y'' THEN 0 else (nvl(T2.Confirmed_Amount,0) - nvl(BS.Net_Trade_Hedged,0)) end as ReadyToHedge';
v_SelectSQL := v_SelectSQL || ' , NOP.Hard_Margin as Margin_Amount, NM.YearBasis as YearBasis, NM.Note_Product_Rating as Equity_Risk_Score, AD.Equity_Asset_Class ';
v_SelectSQL := v_SelectSQL || ' , NM.Note_Product_Rating as Product_Rating, NOP.PO_ID, AD.LotSize as Lot_Size, NM.Max_Orders_Per_Product as MAX_Orders, NOP.Order_Count as Current_Order_Count, nvl(NM.Denomination_Ccy,NM.Currency) as Denomination_Ccy, NM.Note_Scheme_Type as Underlying_Type, NM.Note_Asset_Class as Asset_Class, NULL as Product_Created_YN, NULL as Product_Created_ID, ( (case when NM.Note_Order_Type = '''' then N''Market'' else NM.Note_Order_Type end ) ) as Order_Type, NOP.Spot_Price, NM.Note_Price_Link, NOP.Strike_Price, NVL(NM.C_Fixing_Frequency,''Atmaturity'') as Fixing_Frequency, NM.Document_Uploaded_YN, NM.Document_Uploaded_At, NM.Document_Uploaded_By, NM.Document_File_Name, NM.Document_File_Extension, NM.Document_File_Path, NM.CutOff_Time, NM.Soft_Tenor, NM.NM_Sn_Code_All, NULL as Note_Price_Source, AD.LongName, NVL(NM.Pricelist_YN,''N'') as Pricelist_YN, AD.AlternateIdentifierAlias as Underlying, NM.Note_Issuer_Date_Offset, NM.Counterparty as Note_Counter_Party, NULL as
Note_Premium_PC ';
v_SelectSQL := v_SelectSQL || ' , NI.Issuer_Name, IP.Issuer_Id, IP.Broad_Cash, IP.Odd_Cash, IP.Account_Note, IP.Rounding, IP.Decimal_Truncate, IP.Misc1 as Recidual_YN, NM.Note_Issuer_Type, NM.Target_Coupon, C_Fixing_Frequency as C_Fixing_Frequency, NM.Callable_Frequency as Callable_Frequency, NM.Strike_Price_Percentage as C_Note_Strike_PC, NM.NM_Airbag_PC as Airbag_PC, C_Note_Barrier_PC as C_Note_Barrier_PC, TM.Template_Name, ''Product'' as Record_Type, NM.C_Settlement_Frequency, NM.Coupon_Frequency, NM.NM_Fixing_Source as Note_Fixing_Source, NM.Order_Entry_Type, (nvl(NM.Minimum_Issue_Size,0) - nvl(T2.Confirmed_Amount,0)) as Remaining_Launch_Amount, NM.C_Fixing_Start_Point, NM.C_Fixing_End_Point, NM.Order_Entry_Type, SC.Scheme_Alias, SC.Scheme_Name, CM.CM_ID, CM.CM_Name as Counterparty_Name, NM.NM_Other_Features as Other_Features, NM.Strike_Price_Percentage as Accrual_Strike, NM.NM_KnockIn as KnockIn, NM.NM_Airbag_Type, NM.NM_Put_strike as Put_Strike, NM.NM_Accrual_Strike,
NM.NM_Counterparty_Upfront, NM.Price_Updated_YN as Prices_Updated_YN, AD.Code as Asset_Name,NULL as KO_FREQ_TYPE, NM.Daily_Accumalation_Equities, NM.MaxNoAcc_days, NM.Guaranteed_Days, NM.Leverage_ratio, NM.NORM_IF, NM.NORM_PAIR, NM.NORM_FXRate ';
v_SelectSQL := v_SelectSQL || ' from ';
v_SelectSQL := v_SelectSQL || v_CommonDBName|| '.Note_Master NM ';
v_SelectSQL := v_SelectSQL || 'Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Issuer_Master NI ';
v_SelectSQL := v_SelectSQL || ' On NM.Issuer = (case when ISNUMERIC(NM.Issuer) = 0 then cast (NI.Issuer_Name as nvarchar2(25)) else cast(NI.Issuer_Id as nvarchar2(25)) end )';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Note_Order_Product NOP ';
v_SelectSQL := v_SelectSQL || ' On NOP.Note_Master_ID = NM.Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_DefinitionDBName||'.AssetDef AD ';
v_SelectSQL := v_SelectSQL || ' On AD.Code = NM.Asset';
v_SelectSQL := v_SelectSQL || ' AND AD.TypeAsset = substr(NM.Note_Asset_Class,1,2) ';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Issuer_Parameter IP ';
v_SelectSQL := v_SelectSQL || ' On NM.Issuer = (case when ISNUMERIC(NM.Issuer) = 0 then cast (IP.Issuer_Name as nvarchar2(25)) else cast(IP.Issuer_Id as nvarchar2(25)) end )';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Template_Master TM ';
v_SelectSQL := v_SelectSQL || ' On TM.Template_Id = NM.Template_ID ';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Scheme_Codes SC ';
v_SelectSQL := v_SelectSQL || ' On SC.Scheme_Alias = NM.Type';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Counterparty_Master CM ';
v_SelectSQL := v_SelectSQL || ' On CM.CM_ID = NM.Counterparty';
v_SelectSQL := v_SelectSQL || ' Left Outer Join ';
v_SelectSQL := v_SelectSQL || ' ( ';
v_SelectSQL := v_SelectSQL || ' Select Note_master_ID, sum(Nominal_Amt) as Unwind_Amount from ';
v_SelectSQL := v_SelectSQL || v_CommonDBName||'.Note_Deals ';
v_SelectSQL := v_SelectSQL || ' where Prematurity_Date IS NOT NULL';
v_SelectSQL := v_SelectSQL || ' AND (UPPER(Deletion_Reason ) = ''PART REDEMPTION'' or UPPER(Deletion_Reason ) = ''FULL REDEMPTION'')';
v_SelectSQL := v_SelectSQL || ' Group by Note_master_ID ';
v_SelectSQL := v_SelectSQL || ' ) ND ';
v_SelectSQL := v_SelectSQL || ' On ND.Note_Master_ID = NM.Note_Master_ID';
if (v_Filter_FilledStatus = ' ' OR UPPER(v_Filter_FilledStatus) = 'ALL' ) then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND NOP.Filled_Status IN (' || v_Filter_FilledStatus || ')';
end if;
--AND NOP.Internal_Counterparty = 'DEFAULT''
if(SUBSTR(to_char(v_Filter_Internal_Counterparty),1,4000)= ' ') then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND NOP.Internal_Counterparty IN (' || v_Filter_Internal_Counterparty || ')';
end if;
--SET @SelectSQL = @SelectSQL + ' --Filter--'
v_SelectSQL := v_SelectSQL || ' LEFT OUTER JOIN ';
v_SelectSQL := v_SelectSQL || ' (';
v_SelectSQL := v_SelectSQL || ' select Note_Master_ID, sum(Nominal_Amount) As Confirmed_Amount, sum(No_Of_Shares) As Confirmed_Shares ';
v_SelectSQL := v_SelectSQL || ' from '||v_CommonDBName||'.Note_Order_RM ';
v_SelectSQL := v_SelectSQL || ' Where substr(UPPER(Order_Status_Flag),1,6) = ''YYYYYY'' AND substr(substr(UPPER(Order_Status_Flag),1,7),-1,1) = ''N'' ';
v_SelectSQL := v_SelectSQL || ' group by Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' ) T2';
v_SelectSQL := v_SelectSQL || ' ON T2.Note_Master_ID = NM.Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' LEFT OUTER JOIN';
v_SelectSQL := v_SelectSQL || ' (';
v_SelectSQL := v_SelectSQL || ' Select ND.Note_Master_ID, sum(ND.Nominal_Amt) As Live_Deals ';
v_SelectSQL := v_SelectSQL || ' from '||v_CommonDBName||'.Note_Deals ND ';
v_SelectSQL := v_SelectSQL || ' where ND.Active_YNFlag = ''Y'' ';
v_SelectSQL := v_SelectSQL || ' group by Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' ) T3';
v_SelectSQL := v_SelectSQL || ' ON T3.Note_Master_ID = NM.Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' LEFT OUTER JOIN';
v_SelectSQL := v_SelectSQL || ' (';
v_SelectSQL := v_SelectSQL || ' SELECT NH_Note_Master_ID,';
v_SelectSQL := v_SelectSQL || ' (CAST(SUM(Hedged_Nominal_Buy) AS BINARY_FLOAT) -CAST(SUM(Hedged_Nominal_Sell) AS BINARY_FLOAT)) Net_Trade_Hedged,';
v_SelectSQL := v_SelectSQL || ' (CAST(SUM(Outstanding_Nominal_BUY) AS BINARY_FLOAT) -CAST(SUM(Outstanding_Nominal_SELL) AS BINARY_FLOAT)) Net_Trade_Outstanding,';
v_SelectSQL := v_SelectSQL || ' SUM(Hedged_Nominal_BUY) AS Hedged_Nominal_BUY,';
v_SelectSQL := v_SelectSQL || ' SUM(Hedged_Nominal_SELL) AS Hedged_Nominal_SELL,';
v_SelectSQL := v_SelectSQL || ' SUM(Outstanding_Nominal_BUY) AS Outstanding_Nominal_BUY,';
v_SelectSQL := v_SelectSQL || ' SUM(Outstanding_Nominal_SELL) As Outstanding_Nominal_SELL';
v_SelectSQL := v_SelectSQL || ' From';
v_SelectSQL := v_SelectSQL || ' (';
v_SelectSQL := v_SelectSQL || ' SELECT NH_Note_Master_ID,';
v_SelectSQL := v_SelectSQL || ' SUM(NH_Hedged_Nominal) AS Hedged_Nominal_BUY, 0 AS Hedged_Nominal_SELL,';
v_SelectSQL := v_SelectSQL || ' SUM(NH_Outstanding_Nominal) AS Outstanding_Nominal_BUY, 0 AS Outstanding_Nominal_SELL';
v_SelectSQL := v_SelectSQL || ' FROM '||v_CommonDBName||'.Note_Hedge ';
v_SelectSQL := v_SelectSQL || ' WHERE NH_Direction = ''BUY'' ';
v_SelectSQL := v_SelectSQL || ' GROUP BY NH_Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' Union';
v_SelectSQL := v_SelectSQL || ' SELECT NH_Note_Master_ID,';
v_SelectSQL := v_SelectSQL || ' 0 AS Hedged_Nominal_BUY, SUM(NH_Hedged_Nominal) AS Hedged_Nominal_SELL,';
v_SelectSQL := v_SelectSQL || ' 0 AS Outstanding_Nominal_BUY, SUM(NH_Outstanding_Nominal) AS Outstanding_Nominal_SELL';
v_SelectSQL := v_SelectSQL || ' FROM '||v_CommonDBName||'.Note_Hedge ';
v_SelectSQL := v_SelectSQL || ' WHERE NH_Direction = ''SELL'' ';
v_SelectSQL := v_SelectSQL || ' GROUP BY NH_Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' ) ';
v_SelectSQL := v_SelectSQL || ' GROUP BY NH_Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' ) BS';
v_SelectSQL := v_SelectSQL || ' ON BS.NH_Note_Master_ID = NM.Note_Master_ID';
v_SelectSQL := v_SelectSQL || ' Where NM.Verify_YN_Flag = ''Y'' ';
v_SelectSQL := v_SelectSQL || ' AND NM.Active_YN_Flag = ''' || SWV_Active_YN_Flag || '''';
if(SUBSTR(to_char(v_Filter_NoteType),1,4000) = ' ' OR UPPER(v_Filter_NoteType) = 'ALL' ) then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND NM.Type IN (' || v_Filter_NoteType || ')';
end if;
IF UPPER(v_Entity_ID) <> 'ALL' then
OPEN RestrictTermsheetVisibilityByC;
FETCH RestrictTermsheetVisibilityByC INTO v_Setting_Name,v_Default_Value,v_Config_Value;
WHILE RestrictTermsheetVisibilityByC%FOUND LOOP
--2) Convert comma separated ccy (CNY,HKD,USD) string to single quote ccy with comma separated Ccy ('CNY','HKD','USD') string
if (UPPER(v_Setting_Name) = 'RESTRICT_TERMSHEET_VISIBILITY_BY_CCY') then
if v_Config_Value is not null then
SELECT COUNT(Id_1) INTO SWV_fnc_SplitString_Id_var0 FROM TABLE(fnc_SplitString(v_Config_Value,',')) ;
IF (SWV_fnc_SplitString_Id_var0 > 0) then
--print 'Before Single quote separated ccy : ' + '''' + @Config_Value + ''''
v_Seq_Id := 0;
OPEN Get_RestrictCCY_List_Cursor;
FETCH Get_RestrictCCY_List_Cursor
INTO v_CCY_ID,v_CCY_Data;
WHILE Get_RestrictCCY_List_Cursor%FOUND LOOP
if v_Seq_Id = 0 then
v_CCY_List := '''' || v_CCY_Data || '''';
else
v_CCY_List := v_CCY_List || ',' || '''' || v_CCY_Data || '''';
end if;
v_Seq_Id := v_Seq_Id+1;
FETCH Get_RestrictCCY_List_Cursor INTO v_CCY_ID,v_CCY_Data;
END LOOP;
CLOSE Get_RestrictCCY_List_Cursor;
--print 'After Single quote ccy : ' + @CCY_List
v_SelectSQL := v_SelectSQL || ' AND nvl(NM.Denomination_Ccy,NM.Currency) NOT IN (' || v_CCY_List || ')';
end if;
end if;
end if;
--3) Convert comma separated template (ELN,BELN,BELN_B) string to single quote template code with comma separated template ('ELN','BELN','BELN_B') string
if (UPPER(v_Setting_Name) = 'RESTRICT_TERMSHEET_VISIBILITY_BY_SUBSCHEME') then
if v_Config_Value is not null then
SELECT COUNT(Id_1) INTO SWV_fnc_SplitString_Id_var1 FROM TABLE(fnc_SplitString(v_Config_Value,',')) ;
IF (SWV_fnc_SplitString_Id_var1 > 0) then
v_Seq_Id := 0;
OPEN GetRestrictTemplateListCursor;
FETCH GetRestrictTemplateListCursor
INTO v_CCY_ID,v_CCY_Data;
WHILE GetRestrictTemplateListCursor%FOUND
LOOP
if v_Seq_Id = 0 then
v_CCY_List := '''' || v_CCY_Data || '''';
else
v_CCY_List := v_CCY_List || ',' || '''' || v_CCY_Data || '''';
end if;
v_Seq_Id := v_Seq_Id+1;
FETCH GetRestrictTemplateListCursor INTO v_CCY_ID,v_CCY_Data;
END LOOP;
CLOSE GetRestrictTemplateListCursor;
--print 'After Single quote template code: ' + @CCY_List
v_SelectSQL := v_SelectSQL || ' AND TM.Template_Code NOT IN (' || v_CCY_List || ')';
end if;
end if;
end if;
FETCH RestrictTermsheetVisibilityByC INTO v_Setting_Name,v_Default_Value,v_Config_Value;
END LOOP;
CLOSE RestrictTermsheetVisibilityByC;
end if;
if (v_Filter_Exchange = ' ' OR UPPER(v_Filter_Exchange) = 'ALL') then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND NM.Exchange IN (' || v_Filter_Exchange || ')';
end if;
--SET @SelectSQL = @SelectSQL + ' --AND NM.Issuer = 4'
if (v_Filter_Issuer = ' ' OR UPPER(v_Filter_Issuer) = 'ALL') then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND NM.Issuer IN (' || v_Filter_Issuer || ')';
end if;
if v_Filter_Product_Category = ' ' then
v_SelectSQL := v_SelectSQL || ' ';
else
v_SelectSQL := v_SelectSQL || ' AND UPPER(NM.Note_Issuer_Type) IN (''' || v_Filter_Product_Category || ''')';
end if;
if UPPER(v_DateToFilter) = 'NA' then
v_SelectSQL := v_SelectSQL || ' ';
else
if UPPER(v_DateToFilter) = 'CLOSE_DATE' then
v_SelectSQL := v_SelectSQL || ' AND to_char( '|| v_DateToFilter || ') >= to_date(''' || v_Filter_ToDate || ''');
-- AND convert(smalldatetime,''' || v_Filter_ToDate || ''',106) ';
else
v_SelectSQL := v_SelectSQL || ' AND to_char(''' || v_DateToFilter || ''') BETWEEN to_date(''' || v_Filter_FromDate || ''') AND to_date(''' || v_Filter_ToDate || ''') ';
end if;
end if;
v_SelectSQL := v_SelectSQL || ' Order by NM.Product_Name';
SWV_VarStr := v_SelectSQL;
DBMS_OUTPUT.PUT_LINE(SWV_VarStr);
EXECUTE IMMEDIATE SWV_VarStr;
IF SQLCODE <> 0 then
GOTO ERROR_HANDLER;
end if;
IF SQL%rowcount > 0 then
COMMIT;
SWV_TRANCOUNT := SWV_TRANCOUNT -1;
end if; --Commit Transaction
v_ErrorNumber := SQLCODE;
RETURN;
<< ERROR_HANDLER >> v_ErrorNumber := SQLCODE;
ROLLBACK;
SWV_TRANCOUNT := 0; --Rollback Transaction
RETURN;
END;Please suggest something. Thanks
Edited by: BluShadow on 30-Nov-2011 11:00
added {noformat}{noformat} tags for formatting of code. Please read {message:id=9360002} to learn to do this yourself in future.Connecting to the database sample_adf_finiq_common.
Select NM.Note_Master_Id, NM.Product_Name, NM.Template_ID, NM.Template_Sr_No, NM.Asset, NM.Exchange, NM.Type, NM.Currency , NM.Trade_Date, NM.Value_Date, NM.Valuation_Date, NM.Maturity_Date, NM.Tenor, NM.Strike_Price_Percentage, (case when (NM.PriceList_YN = 'Y') THEN NOP.Issue_Price Else NM.Customer_Price End) as Customer_Price, NM.Dealer_Price, (case when (NM.PriceList_YN = 'Y') THEN NOP.Customer_Yield Else NM.Customer_Yield End) as Customer_Yield, NOP.Dealer_Cost_PA as Internal_Cost , NM.Minimum_Issue_Size, NM.Maximum_Issue_Size, NM.Minimum_Tolerence_Amount, NM.Maximum_Tolerence_Amount, NM.Trigger_Amount_Warning, nvl(NM.PerUnit_Equivalent_Amount,1) as PerUnit_Equivalent_Amount, NM.Active_YN_Flag, NM.Verify_YN_Flag , NM.Tranche_YN_Flag, NM.Launch_Date, NM.Open_Date, NM.Close_Date, NM.PreHedged_YN, NM.Created_By, NM.Created_At, NM.Verified_At, NM.Verified_By, NM.ISIN, NM.Issuer , NM.Product_Catagory as Product_Category, NM.Note_Issuer_Type as Issuer_Category, NM.Series_No as Series_No, NM.Minimum_Investment_Amount , NOP.LastTimeWhenProductModified,(NOP.Nominal_Amount - nvl(ND.Unwind_Amount,0) ) as Current_Issue_Size, NOP.Filled_Status, NM.Counterparty as Internal_Counterparty ,T2.Confirmed_Amount, T2.Confirmed_Shares , T3.Live_Deals , BS.Net_Trade_Hedged, BS.Net_Trade_Outstanding, BS.Hedged_Nominal_BUY, BS.Hedged_Nominal_SELL, BS.Outstanding_Nominal_BUY, BS.Outstanding_Nominal_SELL , ( case When UPPER(NM.PreHedged_YN) = 'Y' Then 'Launched' When ((NM.Maturity_Date IS NOT NULL) AND to_date(NM.Maturity_Date) <= to_date(sysdate)) Then 'Matured' When (UPPER(NM.PreHedged_YN) = 'N' AND NM.Launch_Date IS NOT NULL) Then 'Launched' When (UPPER(NM.PreHedged_YN) = 'N' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= NM.Minimum_Issue_Size) AND to_date(Close_Date) > to_date(sysdate) ) Then 'Ready To Launch' When (UPPER(NM.PreHedged_YN) = 'N' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= (NM.Minimum_Issue_Size - NM.Minimum_Tolerence_Amount)) AND to_date(Close_Date)= to_date(sysdate) ) Then 'Ready To Launch' When (UPPER(NM.PreHedged_YN) = 'N' AND NM.Launch_Date IS NULL AND (T2.Confirmed_Amount >= (NM.Minimum_Issue_Size - NM.Minimum_Tolerence_Amount)) AND to_date(Close_Date)< to_date(sysdate) ) Then 'Ready To Launch' When (UPPER(NM.PreHedged_YN) = 'N' AND NM.Launch_Date IS NOT NULL AND (T2.Confirmed_Amount >= NM.Trigger_Amount_Warning )) Then 'Warning Trigger Reached' Else 'Not Ready' End)Launch_Status , NI.Issuer_Code , (nvl(NOP.Nominal_Amount,0) - nvl(T2.Confirmed_Amount,0)) as Unconfirmed_Amount, NM.Upfront as Upfront, case when UPPER(NM.PreHedged_YN) = 'Y' THEN 0 else (nvl(T2.Confirmed_Amount,0) - nvl(BS.Net_Trade_Hedged,0)) end as ReadyToHedge , NOP.Hard_Margin as Margin_Amount, NM.YearBasis as YearBasis, NM.Note_Product_Rating as Equity_Risk_Score, AD.Equity_Asset_Class , NM.Note_Product_Rating as Product_Rating, NOP.PO_ID, AD.LotSize as Lot_Size, NM.Max_Orders_Per_Product as MAX_Orders, NOP.Order_Count as Current_Order_Count, nvl(NM.Denomination_Ccy,NM.Currency) as Denomination_Ccy, NM.Note_Scheme_Type as Underlying_Type, NM.Note_Asset_Class as Asset_Class, NULL as Product_Created_YN, NULL as Product_Created_ID, ( (case when NM.Note_Order_Type = '' then N'Market' else NM.Note_Order_Type end ) ) as Order_Type, NOP.Spot_Price, NM.Note_Price_Link, NOP.Strike_Price, NVL(NM.C_Fixing_Frequency,'Atmaturity') as Fixing_Frequency, NM.Document_Uploaded_YN, NM.Document_Uploaded_At, NM.Document_Uploaded_By, NM.Document_File_Name, NM.Document_File_Extension, NM.Document_File_Path, NM.CutOff_Time, NM.Soft_Tenor, NM.NM_Sn_Code_All, NULL as Note_Price_Source, AD.LongName, NVL(NM.Pricelist_YN,'N') as Pricelist_YN, AD.AlternateIdentifierAlias as Underlying, NM.Note_Issuer_Date_Offset, NM.Counterparty as Note_Counter_Party, NULL as
Note_Premium_PC , NI.Issuer_Name, IP.Issuer_Id, IP.Broad_Cash, IP.Odd_Cash, IP.Account_Note, IP.Rounding, IP.Decimal_Truncate, IP.Misc1 as Recidual_YN, NM.Note_Issuer_Type, NM.Target_Coupon, C_Fixing_Frequency as C_Fixing_Frequency, NM.Callable_Frequency as Callable_Frequency, NM.Strike_Price_Percentage as C_Note_Strike_PC, NM.NM_Airbag_PC as Airbag_PC, C_Note_Barrier_PC as C_Note_Barrier_PC, TM.Template_Name, 'Product' as Record_Type, NM.C_Settlement_Frequency, NM.Coupon_Frequency, NM.NM_Fixing_Source as Note_Fixing_Source, NM.Order_Entry_Type, (nvl(NM.Minimum_Issue_Size,0) - nvl(T2.Confirmed_Amount,0)) as Remaining_Launch_Amount, NM.C_Fixing_Start_Point, NM.C_Fixing_End_Point, NM.Order_Entry_Type, SC.Scheme_Alias, SC.Scheme_Name, CM.CM_ID, CM.CM_Name as Counterparty_Name, NM.NM_Other_Features as Other_Features, NM.Strike_Price_Percentage as Accrual_Strike, NM.NM_KnockIn as KnockIn, NM.NM_Airbag_Type, NM.NM_Put_strike as Put_Strike, NM.NM_Accrual_Strike,
NM.NM_Counterparty_Upfront, NM.Price_Updated_YN as Prices_Updated_YN, AD.Code as Asset_Name,NULL as KO_FREQ_TYPE, NM.Daily_Accumalation_Equities, NM.MaxNoAcc_days, NM.Guaranteed_Days, NM.Leverage_ratio, NM.NORM_IF, NM.NORM_PAIR, NM.NORM_FXRate from Sample_ADF_finiq_Common.Note_Master NM Left Outer Join Sample_ADF_finiq_Common.Issuer_Master NI On NM.Issuer = (case when ISNUMERIC(NM.Issuer) = 0 then cast (NI.Issuer_Name as nvarchar2(25)) else cast(NI.Issuer_Id as nvarchar2(25)) end ) Left Outer Join Sample_ADF_finiq_Common.Note_Order_Product NOP On NOP.Note_Master_ID = NM.Note_Master_ID Left Outer Join Sample_ADF_finiq_Common.AssetDef AD On AD.Code = NM.Asset AND AD.TypeAsset = substr(NM.Note_Asset_Class,1,2) Left Outer Join Sample_ADF_finiq_Common.Issuer_Parameter IP On NM.Issuer = (case when ISNUMERIC(NM.Issuer) = 0 then cast (IP.Issuer_Name as nvarchar2(25)) else cast(IP.Issuer_Id as nvarchar2(25)) end ) Left Outer Join Sample_ADF_finiq_Common.Template_Master TM On TM.Template_Id = NM.Template_ID Left Outer Join Sample_ADF_finiq_Common.Scheme_Codes SC On SC.Scheme_Alias = NM.Type Left Outer Join Sample_ADF_finiq_Common.Counterparty_Master CM On CM.CM_ID = NM.Counterparty Left Outer Join ( Select Note_master_ID, sum(Nominal_Amt) as Unwind_Amount from Sample_ADF_finiq_Common.Note_Deals where Prematurity_Date IS NOT NULL AND (UPPER(Deletion_Reason ) = 'PART REDEMPTION' or UPPER(Deletion_Reason ) = 'FULL REDEMPTION') Group by Note_master_ID ) ND On ND.Note_Master_ID = NM.Note_Master_ID AND NOP.Internal_Counterparty IN (1) LEFT OUTER JOIN ( select Note_Master_ID, sum(Nominal_Amount) As Confirmed_Amount, sum(No_Of_Shares) As Confirmed_Shares from Sample_ADF_finiq_Common.Note_Order_RM Where substr(UPPER(Order_Status_Flag),1,6) = 'YYYYYY' AND substr(substr(UPPER(Order_Status_Flag),1,7),-1,1) = 'N' group by Note_Master_ID ) T2 ON T2.Note_Master_ID = NM.Note_Master_ID LEFT OUTER JOIN ( Select ND.Note_Master_ID, sum(ND.Nominal_Amt) As Live_Deals from Sample_ADF_finiq_Common.Note_Deals ND where ND.Active_YNFlag = 'Y' group by Note_Master_ID ) T3 ON T3.Note_Master_ID = NM.Note_Master_ID LEFT OUTER JOIN ( SELECT NH_Note_Master_ID, (CAST(SUM(Hedged_Nominal_Buy) AS BINARY_FLOAT) -CAST(SUM(Hedged_Nominal_Sell) AS BINARY_FLOAT)) Net_Trade_Hedged, (CAST(SUM(Outstanding_Nominal_BUY) AS BINARY_FLOAT) -CAST(SUM(Outstanding_Nominal_SELL) AS BINARY_FLOAT)) Net_Trade_Outstanding, SUM(Hedged_Nominal_BUY) AS Hedged_Nominal_BUY, SUM(Hedged_Nominal_SELL) AS Hedged_Nominal_SELL, SUM(Outstanding_Nominal_BUY) AS Outstanding_Nominal_BUY, SUM(Outstanding_Nominal_SELL) As Outstanding_Nominal_SELL From ( SELECT NH_Note_Master_ID, SUM(NH_Hedged_Nominal) AS Hedged_Nominal_BUY, 0 AS Hedged_Nominal_SELL, SUM(NH_Outstanding_Nominal) AS Outstanding_Nominal_BUY, 0 AS Outstanding_Nominal_SELL FROM Sample_ADF_finiq_Common.Note_Hedge WHERE NH_Direction = 'BUY' GROUP BY NH_Note_Master_ID Union SELECT NH_Note_Master_ID, 0 AS Hedged_Nominal_BUY, SUM(NH_Hedged_Nominal) AS Hedged_Nominal_SELL, 0 AS Outstanding_Nominal_BUY, SUM(NH_Outstanding_Nominal) AS Outstanding_Nominal_SELL FROM Sample_ADF_finiq_Common.Note_Hedge WHERE NH_Direction = 'SELL' GROUP BY NH_Note_Master_ID ) GROUP BY NH_Note_Master_ID ) BS ON BS.NH_Note_Master_ID = NM.Note_Master_ID Where NM.Verify_YN_Flag = 'Y' AND NM.Active_YN_Flag = 'Y' AND UPPER(NM.Note_Issuer_Type) IN ('Internal') AND to_char('16-oct-11') BETWEEN to_date('15-oct-11') AND to_date('17-oct-11') Order by NM.Product_Name
V_ERRORNUMBER = 0
Process exited.
Disconnecting from the database sample_adf_finiq_common.
here v_errornumber=0 is the output when i run it in oracle sql developer. -
Problem in dynamic selection in vendor balance report tcode S_ALR_87012082
Hello Friends,
After upgrading from 4.7 to ecc 6.0 we are facing the below mentioned problem.
In a Vendor Balances report, the document selection is not available in the dynamic selections and hence i am not able to select the business area to suit the requirement. We have only, vendor master and company code in the dynamic selections.
Is there any customization tht needs to be set???
Thanks,
SunnyHi Vas,
I am not sure..... but you can view the details in "S_ALR_87012079", you need to chnage the layout....
If the hint is useful Say thanks by reward .
Regards,
Prabhu Rajesh
Maybe you are looking for
-
Getting Error while Changing the status of Batch
Hi , For Reverting back from Completed to WIP i am using gme_api_pub.uncertify_batch API, but getting the following error. I am passing batch_id to the API but unalbe to solve the issue. x return status: E msg count 2 is : 1 err msg 1is: No keys spec
-
please solve this problem ... initially i had problem with the sound... it used to play videos without sound but now since 1 week, i am getting error msg for videos and it is playing nothing.... i have the latest flash player .. my chrome browser pla
-
Screen tinted blue and with dark areas
When I tilt my screen backwards beyond right angle to the keyboard the colors get pale and blue-tinted and dark areas appear at the bottom of the screen. It's an 18 months old replacement screen I had installed by an Apple dealer at great cost becaus
-
How come some podcasts are loud while others I can barely hear?
I enjoy listening to podcasts while at work. I work in a place that does not allow head phones nor does it allow for a stereo. I use a small iHome speaker. The Red Eye Radio podcast has a perfect volume level, while the Billy Cunningham podcast, Bi
-
Capturing Interactive Report Filter Fields
I've a requirement where in a user can view data, apply filters to it, and then invoke an Oracle API by passing in the data set currently visible on the report. If I can some how capture currently applied filters on an Interactive report, I should be