Workflow report: which FM's, tables,.... to use ?
hi there,
i have a user requirement which seems not that easy as i first thought:
i have to write a z-abap which lists the following informations of 2 different ESS-workflows (travel expenses and absence)
Name of workflow creator
Date of workflow creation
Name of approver
Date of approval
status of approval (approved/rejected,etc.....)
workflow-specific data (travel-date for travel-workflow ESS, absence date for absence workflow ESS,etc.....)
I know the workflow-tables SWWWIHEAD, etc.... BUT: how can i read out the approver of a workflow and also the status of approval approved/rejected,.....) in an easy way ? which table to use there for both workflows (travel expenses and absence) and maybe for other workflows in the future. and how can i read out workflow-specific content (like travel-date, etc....)
br, Martin
Hi,
There are already some hints about where to find different data regarding the workflows. As a general guideline I would suggest that you try to find as much application data as possible from the actual application data tables. Just an example, get the absence approver/rejecter from the PTREQ* tables (PTREQ_HEADER contains the statuses of the leave request and who created the row (=approver), etc.). The trip status data should be possible to find also from the travel database (take a look to the transaction PR05, and then the trip history data - you should be able to find the table that contains the approval data, (PTRV* something).
It is not always so straightforward to get the information from workflow tables. You might need to try to find the approval/rejection data from the outcomes of the work items, etc. Then when someone changes the workflow, you might need to remember to do the changes to your report, etc. Sometimes it might even be necessary to do changes to the workflow in order to store the important log data (save approver to Z-table or at least to a container element, etc).
Regards,
Karri
Similar Messages
-
How to load Matrix report data into basic table data using ODI
Hi,
How to load Matrix report data into basic table data using oracle Data Integrator ?
Requirement Description:
Following is the matrix report data:
JOB DEPT10 DEPT20
ANALYST 6000
CLERK 1300 1900 Need to convert it into below format:
JOB Dept Salary
ANALYST DEPT10
ANALYST DEPT20 6000
CLERK DEPT10 1300
CLERK DEPT20 1900
Thanks for your help in advance. Let me know if any further explanation is required.Your list seems to be a little restrictive, you can do a lot more with ODI procedures.
If you create new procedure, and add a step. In the 'command on source' tab set you technology and schema as per your source database. Use the unpivot functionality as described in the link, please, rather than using 'SELECT *' use the appropriate column names and alias them for eg:
SELECT job as job,
deptsal as deptsal,
saldesc as saledesc
FROM pivoted_data
UNPIVOT (
deptsal --<-- unpivot_clause
FOR saldesc --<-- unpivot_for_clause
IN (d10_sal, d20_sal, d30_sal, d40_sal) --<-- unpivot_in_clause
Then in your 'command on target' tab set the technology and schema to your target db, then put your INSERT statement for eg:
INSERT INTO job_sales
(job,
deptsal,
saledesc
VALUES
:job,
:deptsal,
:saledesc
Therefore you are using bind variables from source to load data into target.
Obviously if the source and target table are in the same database, then you can have it all in one statement in the 'command on target' as
INSERT INTO job_sales
(job,
deptsal,
saledesc
SELECT job as job,
deptsal as deptsal,
saldesc as saledesc
FROM pivoted_data
UNPIVOT (
deptsal --<-- unpivot_clause
FOR saldesc --<-- unpivot_for_clause
IN (d10_sal, d20_sal, d30_sal, d40_sal) --<-- unpivot_in_clause
also set the log counter as 'Insert' on the tab where your INSERT statement is, so you know how many rows you insert into the table.
Hope this helps.
BUT remember that this feature only came out in Oracle 11g. -
In which procedure a table is used
Hi,
I am using oracle 9iR2 on red hat 4 (64 bit).
I want to check a specific table is used in which procedures?
ThanksHi,
you find referenced tables for procedure
select * from DBA_DEPENDENCIES
where OWNER = <your_procedure_owner>
and REFERENCED_TYPE='TABLE'
and TYPE= 'PROCEDURE'
and NAME = <procedure_name>;Regards
Mahir M. Quluzade
www.mahir-quluzade.com -
Stock report for Stationery or Table to use
Hi SAP Gurus
I would like to run a report for all stationery by plant and storage location.
Use a table that can give me a detailed report of Stationery stock on hand
Regards
SusanHi,
you can get all the Stocks available at Storage by MMBE Tcode or you can use MARC or MARD tables to view material in Storage.
regards.
Ninad Kshirsagar -
1080p DLSR workflow issues( which low res format to use ? )
Hey, Im shooting on a DSLR (60D) I have adobe cs4 and Im on an acer 5738z specs are here http://www.amazon.co.uk/Acer-Aspire-Pentium-Processor-Premium/dp/B00284C97S.
So as you can guess my laptop wont let me playback in realtime which is no use. I have a video converter, and my plan is to edit the video I need in a format different from the native quicktime files, something low res that will allow me to playback, when finished my timeline, create a new project and import the old sequence timeline, when Im asked where the files are ill select the origianl high res quicktimes and export it. Im hoping this works but What low res format should I edit with and under what setting should It in, dv pal. and then the original hd files? avchd 1080p, or hdv 1080p or something else?
any input or advice on this subject would be gratefully appreciated.
Thanks.I actually found out how it works:
1. Import HD content to FCPX (no proxy, no optimization)
2. Add .LRV file to Final Cut Events/YourEvent/Transcoded Media/Proxy Media and rename files to .mov
3. Restart FCPX (this was my mistake… FCPX showed "changed file")
4. Edit using proxy media, then change back to original media
5. Export
Exporting still takes ages but I only have to wait once
Best
Matt -
Table where used in Transactions
hai Tech pals,
i have a table , i need to get Transactions , in which it is used.
se49 , or FM RS_PROGRAM_TABLES is not sufficient.
Observe: <b>i have table , i need Transactions by which these transactions are formed</b>
eg : table t001z , in which transacations , this table is used. I need list of transactions .
Thanks in advance.
balaji.Hi Balagi,
if you need to find the where used list for the
t001-paval field in the screens, after finding the
programs, call the below function module to get the
list of screen fields.
SELECT PROG
DNUM
INTO TABLE I_DNUM
FROM D020S
FOR ALL ENTRIES IN I_TCODE
WHERE PROG = I_TCODE-PGMNA.
IF NOT I_DNUM[] IS INITIAL.
LOOP AT I_DNUM.
V_PGMNA = I_DNUM-PROG.
V_DYPNO = I_DNUM-DNUM.
CLEAR : I_DYNP_FIELDS,I_LINE.
REFRESH : I_DYNP_FIELDS,I_LINE.
CALL FUNCTION 'DYNPRO_FIELD_GET'
EXPORTING
DYNPRO = V_DYPNO
PROGRAM = V_PGMNA
TABLES
DYNP_FIELDS = I_DYNP_FIELDS
LINES = I_LINE
EXCEPTIONS
DYNPRO_NOT_FOUND = 1
OTHERS = 2.
once you get the list of fileds you can easily make outthat field is used or not.
or if you want to find in the source code, after getting the programs, read the source code to itab and use search command to find the table-field.
you can also take the reference program RSRSCAN1.
Both the ways you can do where used list.
Hope this will solve your problem.Let me know if you want more info.
Thanks & Regards,
Siri. -
Which tables are used for Quality Efficiency calculation of OEE report ?
Hello,
We're confirming OEE report behavior.
I'd like to know OEE report and ME table specification.
Which tables are used for Quality Efficiency calculation of OEE report ?
According to I know, the definition of Quality Efficiency is (complete qty) / (start qty).
For this calculation, does OEE report just use qty_started and qty_completed of PRODUCTION_LOG table?
If any other tables/columns/logic are implemented, your information is appreciated.
Best Regards,
Takahiro Uesugihi
Go to BSIS & BSAS
BKPF
SKA1
SKAT
SKB1
Regards
Roobal -
How to find reports which are using sales tables
Hi Guys,
we are using OBIEE 10g version.Here i need to identify the the reports which are using sales tables.
Table names are given but how to find which report is using these tables.Is there any method to find
or we have to check all reports manually?
Could any one pls suggest me here!
Regards,
sk
Edited by: 912736 on Jun 8, 2012 1:24 PMHi SK,
You can run a report from catalog manager that willl give you all answers requests and the subject area columns in use, you can map these back to the sales tables either manually or by linking (vlookup) to an RPD report that you can run from the Admin tool.
The Usage Tracking method is pretty good but you will have to match up the reports using the Logical SQL.
I'd do both methods and cross ref your results to ensure nothing slips the net.
Regards
Alastair -
Can we add a new column in report which is not in table.
Hi All,
Can we create a new column in report which is not in table.
I have two columns in my table completion_date, manufacture_date. If the difference between the completion_date and manufacture_date is 0, -1, 1 then the new column of the report will say on time against each record or else will display late. Any suggestion how to proceed on this
Regards
Edited by: User_Apex on May 16, 2011 5:54 AMStandard report then, NOT an interactive report (which if you were using, you could build a computation and report on that)..
Then the adding a column in the query would be your best best...
Thank you,
Tony Miller
Webster, TX
There are two kinds of pedestrians -- the quick and the dead.
If this question is answered, please mark the thread as closed and assign points where earned.. -
Generated a report which gives PR(Purchase Requisition) analysis using ALV.
hi experts,
please give me tables and fields for following report, and also exlain me briefly,
Generated a report which gives PR(Purchase Requisition) analysis using ALV.
thanks in advance,
radhakrishnaHi
please find this report which link SO PO PR and Prd Ord and there status.
>
REPORT z_so_info.
TABLES: vbak, vbap, afko, afpo.
*Field catalog
TYPE-POOLS: slis.
DATA: lv_repid TYPE sy-repid VALUE sy-repid,
xfield TYPE slis_t_fieldcat_alv,
afield TYPE slis_fieldcat_alv.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(25) text-002.
SELECT-OPTIONS: so_so FOR vbak-vbeln OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-003.
PARAMETERS:
p_kunnr LIKE vbak-kunnr, " sold-to
p_kunwe LIKE vbak-kunnr. " ship-to
SELECTION-SCREEN END OF BLOCK b2.
*Constants
CONSTANTS: c_zor TYPE vbak-auart VALUE 'ZOR',
c_we TYPE vbpa-parvw VALUE 'WE',
c_ag TYPE vbpa-parvw VALUE 'AG'.
c_space TYPE space.
*Ranges
RANGES: ra_parvw FOR vbpa-parvw,
ra_kunnr FOR vbpa-kunnr.
*Tables
DATA: BEGIN OF gt_output OCCURS 0,
vbeln LIKE vbak-vbeln, " sales order number
posnr LIKE vbap-posnr, " SO item number
matnr LIKE vbap-matnr, " material number
sh LIKE vbpa-kunnr, " Ship-to
sp LIKE vbpa-kunnr, " Sold-to
lifnr LIKE ekko-lifnr, " Vendor
bstnk LIKE vbak-bstnk, " PO number
banfn LIKE vbep-banfn, " Purchase requi
po_st TYPE char30, " PO status text
pstyv TYPE vbap-pstyv, " Item catagory
aufnr LIKE afpo-aufnr, " Production Order
prd_stat TYPE string, " Prd order status
END OF gt_output.
DATA: wa_output LIKE gt_output.
FIELD-SYMBOLS: <fs_output> LIKE gt_output.
*Table for sales order and PO
TYPES : BEGIN OF gs_data,
vbeln TYPE vbak-vbeln,
posnr TYPE vbap-posnr,
pstyv TYPE vbap-pstyv,
matnr TYPE vbap-matnr,
END OF gs_data.
DATA: gt_data TYPE STANDARD TABLE OF gs_data,
wa_data TYPE gs_data.
*Table for Production Orders
TYPES: BEGIN OF gs_prd,
aufnr TYPE afpo-aufnr,
posnr TYPE afpo-posnr,
kdauf TYPE afpo-kdauf,
kdpos TYPE afpo-kdpos,
wepos TYPE afpo-wepos, "Goods Receipt Indicator
elikz TYPE afpo-elikz, "Delivery Completed Indicator
objnr TYPE aufk-objnr, "Object number
getri TYPE afko-getri, "Confirmed Order Finish Date
gltri TYPE afko-gltri, "Actual finish date
END OF gs_prd.
DATA: gt_prd TYPE STANDARD TABLE OF gs_prd,
wa_prd TYPE gs_prd.
*Table for partner data
TYPES: BEGIN OF gs_partner,
vbeln TYPE vbak-vbeln,
posnr TYPE vbap-posnr,
parvw TYPE vbpa-parvw,
kunnr TYPE vbpa-kunnr,
END OF gs_partner.
DATA: gt_partner TYPE STANDARD TABLE OF gs_partner,
wa_partner TYPE gs_partner.
TYPES: BEGIN OF gs_po,
ebeln TYPE ekkn-ebeln,
ebelp TYPE ekkn-ebelp,
vbeln TYPE ekkn-vbeln,
vbelp TYPE ekkn-vbelp,
END OF gs_po.
DATA: gt_po TYPE STANDARD TABLE OF gs_po,
wa_po TYPE gs_po.
TYPES: BEGIN OF gs_preq,
vbeln TYPE vbep-vbeln,
posnr TYPE vbep-posnr,
banfn TYPE vbep-banfn,
END OF gs_preq.
DATA: gt_preq TYPE STANDARD TABLE OF gs_preq,
wa_preq TYPE gs_preq.
TYPES: BEGIN OF gs_po_stat,
ebeln TYPE ekko-ebeln,
procstat TYPE ekko-procstat,
lifnr TYPE ekko-lifnr,
END OF gs_po_stat.
DATA: gt_po_stat TYPE STANDARD TABLE OF gs_po_stat,
wa_po_stat TYPE gs_po_stat.
*Field symbols
FIELD-SYMBOLS: <fs> TYPE tj02t-txt04,
<fs_temp> TYPE tj02t-txt04,
<fs_stat> TYPE char30.
START-OF-SELECTION.
PERFORM fr_build_range.
PERFORM fr_get_data.
PERFORM fr_build_fc.
PERFORM fr_output.
*& Form fr_get_data
text
--> p1 text
<-- p2 text
FORM fr_get_data.
*Get SO
SELECT avbeln aposnr apstyv amatnr
FROM vbap AS a
JOIN vbak AS b
ON avbeln = bvbeln
JOIN vbpa AS c
ON bvbeln = cvbeln
INTO TABLE gt_data
WHERE b~vbeln IN so_so
AND b~auart EQ c_zor "Only Sales Orders
AND c~kunnr IN ra_kunnr. "from selection screen
DELETE ADJACENT DUPLICATES FROM gt_data COMPARING vbeln posnr.
*get data of the production order
IF NOT gt_data[] IS INITIAL.
SELECT aaufnr aposnr akdauf akdpos awepos aelikz
b~objnr
FROM afpo AS a
JOIN aufk AS b
ON aaufnr = baufnr
INTO TABLE gt_prd
FOR ALL ENTRIES IN gt_data
WHERE a~kdauf EQ gt_data-vbeln
AND a~kdpos EQ gt_data-posnr.
ENDIF.
*Get partner data
IF NOT gt_data[] IS INITIAL.
SELECT vbeln posnr parvw kunnr
FROM vbpa
INTO TABLE gt_partner
FOR ALL ENTRIES IN gt_data
WHERE vbeln EQ gt_data-vbeln.
ENDIF.
*Get Purchase Order
IF NOT gt_data[] IS INITIAL.
SELECT ebeln ebelp vbeln vbelp
FROM ekkn
INTO TABLE gt_po
FOR ALL ENTRIES IN gt_data
WHERE vbeln EQ gt_data-vbeln
AND vbelp EQ gt_data-posnr.
SELECT vbeln posnr banfn
FROM vbep
INTO TABLE gt_preq
FOR ALL ENTRIES IN gt_data
WHERE vbeln EQ gt_data-vbeln
AND posnr EQ gt_data-posnr.
ENDIF.
IF NOT gt_po[] IS INITIAL.
SELECT aebeln aprocstat a~lifnr
FROM ekko AS a
JOIN ekpo AS b
ON aebeln = bebeln
INTO TABLE gt_po_stat
FOR ALL ENTRIES IN gt_po
WHERE b~ebeln EQ gt_po-ebeln
AND b~ebelp EQ gt_po-ebelp.
ENDIF.
*Move data to output table
LOOP AT gt_data INTO wa_data.
wa_output-vbeln = wa_data-vbeln.
wa_output-posnr = wa_data-posnr.
wa_output-pstyv = wa_data-pstyv.
wa_output-matnr = wa_data-matnr.
READ TABLE gt_po INTO wa_po WITH KEY vbeln = wa_data-vbeln
vbelp = wa_data-posnr.
IF sy-subrc EQ 0.
wa_output-bstnk = wa_po-ebeln.
READ TABLE gt_po_stat INTO wa_po_stat WITH KEY ebeln = wa_po-ebeln.
IF sy-subrc EQ 0.
wa_output-lifnr = wa_po_stat-lifnr.
CASE wa_po_stat-procstat.
WHEN '01'.
wa_output-po_st = 'Version in process'.
WHEN '02'.
wa_output-po_st = 'Active'.
WHEN '03'.
wa_output-po_st = 'In release'.
WHEN '04'.
wa_output-po_st = 'Partially released'.
WHEN '05'.
wa_output-po_st = 'Released Completely'.
WHEN '08'.
wa_output-po_st = 'Rejected'.
ENDCASE.
ENDIF. "inner read subrc
ENDIF. "outer read subrc
READ TABLE gt_preq INTO wa_preq WITH KEY vbeln = wa_data-vbeln
posnr = wa_data-posnr.
IF sy-subrc EQ 0.
wa_output-banfn = wa_preq-banfn.
ENDIF.
READ TABLE gt_prd INTO wa_prd WITH KEY kdauf = wa_data-vbeln
kdpos = wa_data-posnr.
IF sy-subrc EQ 0.
wa_output-aufnr = wa_prd-aufnr.
*get the purchase requisition for production order as well
SELECT SINGLE banfn
FROM ebkn
INTO wa_output-banfn
WHERE aufnr EQ wa_prd-aufnr.
*Get the status of the production order
PERFORM fr_get_prd_stat USING wa_prd-objnr
CHANGING wa_output-prd_stat.
ENDIF. " sy-subrc
READ TABLE gt_partner INTO wa_partner WITH KEY vbeln = wa_data-vbeln
parvw = c_we.
IF sy-subrc EQ 0.
wa_output-sh = wa_partner-kunnr.
ENDIF.
READ TABLE gt_partner INTO wa_partner WITH KEY vbeln = wa_data-vbeln
parvw = c_ag.
IF sy-subrc EQ 0.
wa_output-sp = wa_partner-kunnr.
ENDIF.
APPEND wa_output TO gt_output.
CLEAR: wa_data, wa_prd,wa_partner,wa_output.
ENDLOOP.
ENDFORM. " fr_get_data
*& Form fr_build_range
text
--> p1 text
<-- p2 text
FORM fr_build_range .
*Range for partner function
MOVE 'I' TO ra_parvw-sign.
MOVE 'EQ' TO ra_parvw-option.
MOVE 'SH' TO ra_parvw-low. " we
APPEND ra_parvw.
CLEAR ra_parvw.
MOVE 'I' TO ra_parvw-sign.
MOVE 'EQ' TO ra_parvw-option.
MOVE 'SP' TO ra_parvw-low. " ag
APPEND ra_parvw.
CLEAR ra_parvw.
*Range for ship-to and sold-to
MOVE 'I' TO ra_kunnr-sign.
MOVE 'EQ' TO ra_kunnr-option.
MOVE p_kunnr TO ra_kunnr-low.
APPEND ra_kunnr.
CLEAR ra_kunnr.
MOVE 'I' TO ra_kunnr-sign.
MOVE 'EQ' TO ra_kunnr-option.
MOVE p_kunwe TO ra_kunnr-low.
APPEND ra_kunnr.
CLEAR ra_kunnr.
ENDFORM. " fr_build_range
*& Form fr_build_fc
text
--> p1 text
<-- p2 text
FORM fr_build_fc .
sales order number
afield-fieldname = 'VBELN'.
afield-seltext_s = 'Sales #'.
afield-ref_tabname = 'VBAK'.
APPEND afield TO xfield. CLEAR afield.
sales ITEM number
afield-fieldname = 'POSNR'.
afield-seltext_s = 'Item #'.
afield-ref_tabname = 'VBAP'.
APPEND afield TO xfield. CLEAR afield.
Material Number
afield-fieldname = 'MATNR'.
afield-seltext_s = 'Material #'.
afield-ref_tabname = 'VBAP'.
afield-outputlen = 10.
APPEND afield TO xfield. CLEAR afield.
*Vendor Number
afield-fieldname = 'LIFNR'.
afield-seltext_s = 'Vendor Num.'.
afield-ref_tabname = 'EKKO'.
APPEND afield TO xfield. CLEAR afield.
ship-to-party
afield-fieldname = 'SH'.
afield-seltext_s = 'Ship-to'.
afield-ref_tabname = 'VBPA'.
APPEND afield TO xfield. CLEAR afield.
sold-to-party
afield-fieldname = 'SP'.
afield-seltext_s = 'Sold-to'.
afield-ref_tabname = 'VBPA'.
APPEND afield TO xfield. CLEAR afield.
*PO number
afield-fieldname = 'BSTNK'.
afield-seltext_s = 'PO NUM'.
afield-ref_tabname = 'EKKO'.
APPEND afield TO xfield. CLEAR afield.
*PO status
afield-fieldname = 'PO_STAT'.
afield-seltext_s = 'Step'.
afield-ref_tabname = 'zbacklog_v2'.
APPEND afield TO xfield. CLEAR afield.
*PO step status
afield-fieldname = 'PO_ST'.
afield-seltext_s = 'PO.Status'.
afield-ref_tabname = 'zbacklog_v2'.
APPEND afield TO xfield. CLEAR afield.
*Purchase requisition
afield-fieldname = 'BANFN'.
afield-seltext_s = 'Pur. Req.'.
afield-ref_tabname = 'VBEP'.
APPEND afield TO xfield. CLEAR afield.
*Item catagory
afield-fieldname = 'PSTYV'.
afield-seltext_s = 'Itm. Catg'.
afield-ref_tabname = 'VBAP'.
APPEND afield TO xfield. CLEAR afield.
*Prodcution Order number
afield-fieldname = 'AUFNR'.
afield-seltext_m = 'Prod.Order'.
afield-ref_tabname = 'AFKO'.
APPEND afield TO xfield. CLEAR afield.
*PRODCUTION status
afield-fieldname = 'PRD_STAT'.
afield-seltext_s = 'Prd. Step'.
afield-ref_tabname = 'zbacklog_v2'.
afield-outputlen = 20.
APPEND afield TO xfield. CLEAR afield.
*PRODUCTION step status
afield-fieldname = 'PRD_ST'.
afield-seltext_s = 'Prd. Status'.
afield-ref_tabname = 'zbacklog_v2'.
APPEND afield TO xfield. CLEAR afield.
ENDFORM. " fr_build_fc
*& Form fr_output
text
--> p1 text
<-- p2 text
FORM fr_output .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
it_fieldcat = xfield[]
i_default = 'X'
i_save = 'A'
TABLES
t_outtab = gt_output
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM. " fr_output
*& Form fr_get_prd_stat
text
-->P_WA_PRD_OBJNR text
FORM fr_get_prd_stat USING p_objnr CHANGING p_prd_stat.
DATA: lt_status TYPE STANDARD TABLE OF jstat,
wa_status TYPE jstat,
lv_status TYPE tj02t-txt04,
lv_temp2 TYPE char5,
lv_buff TYPE string.
CALL FUNCTION 'STATUS_READ'
EXPORTING
client = sy-mandt
objnr = p_objnr
only_active = 'X'
TABLES
status = lt_status
EXCEPTIONS
object_not_found = 1
OTHERS = 2.
LOOP AT lt_status INTO wa_status.
IF wa_status-stat(1) EQ 'I'.
SELECT txt04 FROM tj02t
INTO lv_status
WHERE istat EQ wa_status-stat
AND spras EQ 'E'.
ENDSELECT.
lv_temp2 = lv_status.
CONCATENATE lv_temp2 p_prd_stat INTO p_prd_stat
SEPARATED BY ','.
ENDIF.
CLEAR: wa_status, lv_status, lv_temp2.
ENDLOOP.
lv_buff = p_prd_stat.
*Status of Production Order
IF lv_buff CS 'CRTD'.
p_prd_stat = 'Not Active'.
ENDIF.
IF lv_buff CS 'REL'.
IF lv_buff CS 'GMPS'.
p_prd_stat = 'Printed In Prod'.
ELSE.
p_prd_stat = 'Printed'.
ENDIF.
ENDIF.
IF lv_buff CS 'TECO'.
p_prd_stat = 'Technically Compt.'.
ENDIF.
ENDFORM. " fr_get_prd_stat
> -
Hi All,
Suppose I have table, whose structure changes frequently on daily basis.
For eg. desc my_table gives you following column name on Day 1
SQL > desc my_table;
Output
Name
Age
Phone
On Day 2, two more columns are added, viz, Address and Salary.
SQL > desc my_table;
Output
Name
Age
Phone
Address
Salary
Now I want to create an Dynnamic RTF report which would fetch data from ALL columns from my_table on daily basis. For that I have defined a concurrent program with XML as output type and have attached a data template/data definition to it which takes in XML as input and gives final output of conc program in EXCEL layout. I am able to do this for constant number of columns, but dont know how to do it when the number of columns to be displayed changes dynamically.
For Day 1 my XML file should be like this.
<?xml version="1.0" encoding="UTF-8"?>
<dataTemplate name="XYZ" description="iExpenses Report" Version="1.0">
<dataQuery>
<sqlStatement name="Q2">
<![CDATA[
SELECT Name
,Age
,Phone
FROM my_table
]]>
</sqlStatement>
</dataQuery>
<dataStructure>
<group name="G_my_table" source="Q2">
<element name="Name" value="Name" />
<element name="Age" value="Age" />
<element name="Phone" value="Phone" />
</group>
</dataStructure>
</dataTemplate>
And my Day 1, EXCEL output from RTF template should be like this.
Name Age Phone
Swapnill 23 12345
For Day 2 my XML file should be like this. With 2 new columns selected in SELECT clause.
<?xml version="1.0" encoding="UTF-8"?>
<dataTemplate name="XYZ" description="iExpenses Report" Version="1.0">
<dataQuery>
<sqlStatement name="Q2">
<![CDATA[
SELECT Name
,Age
,Phone
,Address
,Salary
FROM my_table
]]>
</sqlStatement>
</dataQuery>
<dataStructure>
<group name="G_my_table" source="Q2">
<element name="Name" value="Name" />
<element name="Age" value="Age" />
<element name="Phone" value="Phone" />
<element name="Address" value="Address" />
<element name="Salary" value="Salary" />
</group>
</dataStructure>
</dataTemplate>
And my Day 2, EXCEL output from RTF template should be like this.
Name Age Phone Address Salary
Swapnill 23 12345 Madrid 100000
Now, I dont know below things.
Make the XML dynamic as in on Day 1 there must be 3 columns in the SELECT statement and on Day 2, 5 columns. I want to create one dynamic XML which should not be required to be changed if new columns are added in my_table. I dont know how to create this query and also create their corresponding elements below.
Make the RTF template dyanamic as in Day1 there must 3 columns in EXCEL output and on Day 2, 5 columns. I want to create a Dynamic RTF template which would show all the columns selected in Dynamic XML.I dont know how the RTF will create new XML tags and how it will know where to place it in the report. Means, I can create RTF template on Day 1, by loading XML data for 3 columns and placing 3 XML tags in template. But how will it create and place tags for new columns on Day 2?
Hope, you got my requirement, its a challenging one. Please let me know how I can implement the required solution using RTF dynamically without any manual intervention.
Regards,
Swapnil K.
Message was edited by: SwapnilKHi All,
I am able to fulfil above requirement. Now I am stuck at below point. Need your help!
Is there any way to UPDATE the XML file attached to a Data Definition (XML Publisher > Data Definition) using a standard package or procedure call or may be an API from backend? I am creating an XML dynamically and I want to attach it to its Data Definition programmatically using SQL.
Please let me know if there is any oracle functionality to do this.
If not, please let me know the standard directories on application/database server where the XML files attached to Data Definitions are stored.
For eg, /$APPL_TOP/ar/1.0/sql or something.
Regards,
Swapnil K. -
How to find the list of Queries/Reports which are using Exceptional Aggregation in SAP BI?
Hi All,
We are interested to know how to find the list of Queries/ Reports which are using Exceptional aggregation in SAP BI.
Please let us know is there any table's to check the list of reports using Exceptional Aggregation in SAP BI.Hi,
Here you go..
1) Go to table RSZCALC and get list of ELTUID where AGGREXC is not INITIAL and AGGRCHA is not initial; now you get only exception aggregation set based on some chars. Also you can further add STEPNR = 1 since your intention is just to get query name , not the calculation details; this will reduce number of entries to lookup and save DB time for next steps.
Here you will get list of exception aggregation UUID numbers from which you can get properties from RSZELTDIR.
2) Pass list of RSZCALC-ELTUID to table RSZELTXREF - TELTUID and get list of RSZELTXREF -SELTUID - this table stores query to it's elements maping kind.
3) Now again pass RSZELTXREF - SELTUID into same table but into different field RSZELTZREF - TELTUID and get RSZELTXREF - SELTUID
This step you get query reference sheet or column or query general UUID for next step.
4) Pass list of RSZELTXREF - SELTUID into RSZELTDIR - ELTUID with DEFTP as 'REP'. Now you get list of query names in RSZELTDIR - MAPNAME and description in TXTLG.
Note: you can also get the reference chars used for exception aggregation from RSZCALC - AGGRCHA field.
Hope this helps.
Please keep in mind, it might take more time depends on how many query elements you have in the system...
Comments added for better DB performance by: Arun Thangaraj -
What are the tables/view used to Compute Dependecies Report
Hi,
what are the tables/views we have in APEX, which is used to create the Compute Dependecies Report
Home -> Application xxxxx > Application Reports > Shared Components > Database Object Dependencies
thanks,
DeepakHi Scott,
thanks for the quick response.
So my question is then...
I want to create a APEX Report which will give me the following information.
1. Application and all the Pages associated with it, which I am getting from apex_applications and
apex_application_pages. This is OK
2. List of all the Database Objects (Table/View) which the individual page is using, I mean relation between Page ID and database object. HOW to get that???.....(I want for each individual page, the list all the database objects (tables/views), which that page is using)
Thanks,
Deepak -
Workflow API which can be used to avoid sending notification to user
Hi Folks,
We want Workflow API which can be used to avoid sending notification to user for particular type of error.
Say we are using following API which are used to send notification to mailbox as soon as program run into error.
wf_core.context(c_v_package_name
,c_v_func_name2
,p_event.getEventName()
,c_v_task_id_prompt||l_n_task_id
,l_v_msg_data);
wf_event.seterrorinfo(p_event, c_v_result_error);
Now we want to restrict certain type of error to send as a notification however we want to keep this record in wf_notifications table for further investigation.
Thanks and Regards,
Javed KhanMatt,
It looks like another person had a similar question before, see the following thread:
https://supportforums.cisco.com/discussion/9697836/can-use-axl-or-other-api-get-calls-progress
Also, according to the comments seen on that post, I was able to find the JTAPI developers guide, see more information below:
http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/jtapi_dev/8_6_1/jtapidevguide/overview.html
If this still does not satisfy your question then, the best you can do is post this inquiry on the Cisco Developer Network on the following link:
https://developer.cisco.com/site/devnet/home/index.gsp
Hope this information helps,
Marco Rojas. -
List of SA,Tables,Columns used in the reports
Hi Experts,
We have 5 dashboards and nearly 35 reports from different subject areas now we want to make a list in the excel which
subject areas,tables,column names ,formulas used in that columns as been used in the particular reports.
As we have complex reports so it is very hard to check manually is there any option to check all these.
Thanks,Use catalog manager to build a report.
Open catalog then Select folder->Tools->Create Report
save it as .csv and open in spreadsheet
You may have to generate rpd doc since expressions are shared in report level and also in rpd level
Pls mark correct/helpful
Maybe you are looking for
-
Session Timeouts issue massively frustrating
I am getting session timeouts when logged into my netmail & trying to compose emails. It happens constantly, sometimes immediately after logging in, sometimes 5 minutes into a session, sometimes 2 minutes into a session. It is completely random timin
-
Is there a way to LIST OUT all of the active images that are currently being used on a page in Dreamweaver? Or do I have to click each one and write down the image name by hand? Thanks! LJ
-
How to delete data before insert in oracle database
Hi friends, I have one scenario.I want to send data from sap to Oracle database.Befor i am inserting data in database table,i want to clean/delete all the records in the table .This interface will run twice in a day.Can any body help me. SAP-PI-JDBC
-
Converting from String to float and vice versa
I'm interested in people's thoughts on where common logic to convert between various field types should be stored in an application to minimise code duplication and maintenance. I have an application which consists of an object and a jPanel which dis
-
hi all, Which are the tables for Networks(Orders) and Activities and how can i link these tables to the corresponding WBS Element (table PRPS) ? Thanks in advanced. Regards Geeta Gupta