Friday, March 22, 2019

Concurrent Program Report to RTF query

SELECT fcpv.user_concurrent_program_name "USER PROG NAME",
                fcpv.concurrent_program_name "PROG NAME",
                fcpv.concurrent_program_id "PROGRAM ID",
                fcpv.creation_date "PROG CREATION DATE",
                fcpv.created_by "PROG CREATED BY",
                xddv.application_short_name "DD APP SHORT NAME",
                xddv.data_source_name,
                xtv.application_short_name "DT APP SHORT NAME",
                xtv.template_code,
                xtv.template_name,
                fe.executable_name,
                fe.execution_method_code,
                fe.execution_file_name ,
                xl.file_name,
                fcpv.enabled_flag, xl.last_update_date
  FROM  apps.fnd_concurrent_programs_vl fcpv,
               apps.fnd_executables fe,
               apps.xdo_ds_definitions_vl xddv,
               apps.xdo_templates_vl xtv,
               apps.xdo_lobs xl
 WHERE xddv.data_source_code = xtv.data_source_code
 AND      xddv.data_source_code = fcpv.concurrent_program_name
 AND fe.executable_id  = fcpv.executable_id
 AND   UPPER(template_name) like '%PACK%'
 AND   fcpv.enabled_flag = 'Y'
 AND fe.execution_method_code = 'P'
 AND  xl.lob_type in ('TEMPLATE','TEMPLATE_SOURCE')
AND    lower(xl.file_name) like '%.rtf'
AND  xtv.template_code=xl.lob_code

Monday, March 18, 2019

Add KFF /DFF to forms

Source1
Source 2



DB TEXT item should be hidden - canvas null

Create a dummy TEXT item for the KFF display
Non DB item
LOV 'ENABLE_LIST_LAMP' with "valiate from list" as no

WHEN-NEW-FORM-INSTANCE trigger.
Initialize KFF using fnd_key_flex.define(

       select  to_char(id_flex_num)
        from    fnd_id_flex_structures
        where   id_flex_structure_code = 'ACCOUNTING_FLEXFIELD'
                and id_flex_code = 'GL#';


 Then, all that is left to do is to program a few events:

WHEN-VALIDATE-ITEM
WHEN-NEW-ITEM-INSTANCE
POST-QUERY
PRE-QUERY
KEY-LISTVAL



We always try to put this code in the form level triggers
as it is more convenient and consistent than doing it at block or item level,
especially when you have more than one foreign key flexfield in the form.
Only in the case of very large and complicated forms would we do otherwise.

 WHEN-VALIDATE-ITEM

    if ( :system.mode = 'NORMAL' ) then

       fnd_flex.event( 'WHEN-VALIDATE-ITEM' );

    end if;

WHEN-NEW-ITEM-INSTANCE

    app_standard.event('WHEN-NEW-ITEM-INSTANCE');

    fnd_flex.event('WHEN-NEW-ITEM-INSTANCE' );

POST-QUERY

--Loads the flexfields (in our case, it populates

--the concatenated field on execute query).

    FND_FLEX.EVENT('POST-QUERY');

PRE-QUERY

--If you don't do this, whatever query criteria you may enter in

-- the concatenated flex field, it is not taken into account.

    FND_FLEX.EVENT('PRE-QUERY' );

KEY-LISTVAL

    APP_STANDARD.EVENT('KEY-LISTVAL');

    FND_FLEX.EVENT('KEY-LISTVAL' );

Thursday, January 31, 2019

Auto-scheduling for cycle count logic


Auto-scheduling for cycle count logic works like this:
Within a given class - the system first tries to find out how many items needs to be scheduled for count. (Cycle count Scheduler) Formula to compute the number of items to schedule within a given class is as follows:

Max items to schedule = [(Total items in class * Nworkdays) / (ClasscountInterval) ] + 1
where ClasscountInterval = Number of working days in a year / (Number of counts / year for that class).

Next when you auto-generate cycle count requests based upon the number of items to be scheduled within a given class - the program tries to find the item with the lowest schedule order within that class. (see the respective table &  MTL_CYCLE_COUNT_ITEMS ). Suppose there are two items so the program will pick the items with the lowest schedule order ( in a series of 1,2,3,4,5 the system will schedule items with schedule order 1 and 2).

Once the counting is done - it will update the schedule order to 6 , 7 respectively. So next time you count - the system does not schedule the same items but picks up items with lowest schedule number again within that class (in the second case the series available is 3,4,5,6,7 so it will pick items with schedule order 3,4).


Best Note : 416149.1

Thursday, November 15, 2018

Transactions AND Average Costing

Source


The following table indicates whether specific transactions update the average unit cost of an item.
TransactionsUpdate Average
Purchase Order Receipt to Receiving InspectionNo
Delivery from Receiving Inspection to InventoryYes
Purchase Order Receipt to InventoryYes
Return to Supplier from ReceivingNo
Return to Supplier from InventoryYes
Miscellaneous IssueNo (if default cost is used)
Miscellaneous ReceiptNo (if default cost is used)
Shipment Transaction/FOB ReceiptNo
Shipment Transaction/FOB Shipment: Sending OrgNo
Shipment Transaction/FOB Shipment: Receiving OrgYes
Receipt Transaction/FOB Receipt: Sending OrgNo
Receipt Transaction/FOB Receipt: Receiving OrgYes
Receipt Transaction/FOB ShipmentNo
Direct Inter-Organization Transfer: Sending OrgNo
Direct Inter-Organization Transfer: Receiving OrgYes
Cycle CountNo
Physical InventoryNo
Sales Order ShipmentsNo
RMA ReceiptsYes
RMA ReturnsNo
Average Cost UpdateYes
Note: The accounts in average costing transactions are the default accounts when average costing is used. If Subledger Accounting (SLA) is enabled and SLA rules are customized, then the default accounts are not used.

Tuesday, August 28, 2018







Source 

We're going to:
  1. Create a Bursting Control File to email Suppliers
  2. Upload the control file to the Data Definition
  3. Test it out by calling the XML Publisher Report Bursting Program
  4. (Optional) Extend the Report to automatically submit the Bursting program
At this point please make sure you have done the following EBS bursting prerequisite steps:
  • (Optional, but highly recommended) Upgrade to 11.5.10.2 / XMLP 5.6.3 or higher (ATG RUP5 or higher is nice)
  • Apply 5968876 XDO:EBS-BURSTING INTEGRATION PATCH
  • Restarted your applications processes - or the button to upload your bursting control file won't appear!
  • Set the Temporary Directory under XML Publisher Administrator, Administration, General - to e.g. /tmp, or you'll get error message:

Bursting Control File

Next, lets get into the Bursting control file and look at it a bit closer:
1. Create Bursting Control File to email Suppliers custom Separate Remittance Advice 




subject="Virtuate - Remittance Advice for Payment ${C_CHECK_NUMBER}">
Please find attached Remittance Advice for payment ${C_CHECK_NUMBER}.

Regards,
The Payables Team
Virtuate Limited

  
Hmm, what does all this jargon in the control file do? Well, here's a pretty picture that explains a lot of it: 

[p20_burstcf.png]


Make sure it all works ... gotta make sure its the right flavor!
Navigate into Payables, Submit Request, XML Publisher Report Bursting Program, and specify the request from your last custom Separate Remittance Advice request. 



Add code to after report trigger to automate bursting

declare
    v_req_id number := 0;
  begin
    if nvl(:p_burst,'N') = 'Y' then
      v_req_id := xxv8_xmlp_burst_pkg.submit_request_burst('XXV8_APXPBSRA',:p_conc_request_id);
      if v_req_id > 0 then
        srw.message(20002, 'Submitted request_id ' || v_req_id);
        commit;
      else
        srw.message(20002, 'Failed to submit request');
      end if;
    end if;
  end;


create or replace package body XXV8_XMLP_BURST_PKG AS
function submit_request_burst
( p_code in varchar2
, p_request_id in number
) return number
is
  l_req_id number := 0;
begin
  if p_code = 'XXV8_APXPBSRA' then
    l_req_id := fnd_request.submit_request('XDO','XDOBURSTREP',NULL,NULL,FALSE,
                                           p_request_id);
  end if;
  return l_req_id;
end submit_request_burst;

end XXV8_XMLP_BURST_PKG;
/

Monday, August 20, 2018

Research Files


phillipcapital

pdf site:motilaloswal.com/


https://sensibleinvestingblog.wordpress.com

https://oreng.co.in

https://equitylensman.blogspot.com - 


https://www.plindia.com/LatestReports.aspx

https://dialwealth.wordpress.com/

https://investorpicks100.blogspot.com


https://valuationinmotion.blogspot.com

https://eightytwentyinvestor.com

https://www.rupeeiq.com

https://finception.in

https://www.munafasutra.com/nse/intradayTipsBTST/

investorzone.in

http://stocksandbiceps.com

https://www.ipoandmore.com

Monday, August 6, 2018

FIND Special Characters Oracle

 CREATE OR REPLACE TYPE WWT.WWT_XXWMS_CHAR_LIST_NRR IS TABLE OF CHAR(1 CHAR);



WITH wc
AS (SELECT inventory_item_id, segment2
FROM   mtl_system_items_b
WHERE  inventory_item_id IN (18736091,18736071,18791648,18689552,12492301,18695455
,616432,7304252,212663)
AND    organization_id = 101
)
 SELECT  t.inventory_item_id,
        CAST( c.COLUMN_VALUE AS CHAR(1 CHAR) ) AS character,
        COUNT(1) AS frequency
FROM    wc t,
        TABLE(
          CAST(
            MULTISET(
              SELECT SUBSTR( t.segment2, LEVEL, 1 )
              FROM   DUAL
              WHERE  REGEXP_LIKE( SUBSTR( t.segment2, LEVEL, 1 ), '[^a-zA-Z0-9]' )
              CONNECT BY LEVEL <= LENGTH( t.segment2 )
            ) AS WWT.WWT_XXWMS_CHAR_LIST_NRR
          )
        ) c
GROUP BY t.inventory_item_id, c.COLUMN_VALUE
/



WITH msib_wc
AS (SELECT  segment2
FROM   mtl_system_items_b
WHERE  inventory_item_id IN (18736091,18736071,18791648,18689552,12492301,18695455)
AND    organization_id = 101
)
SELECT  CAST( c.COLUMN_VALUE AS CHAR(1 CHAR) ) AS character,
        COUNT(1) AS frequency
FROM    msib_wc  ,
        TABLE(
          CAST(
            MULTISET(
              SELECT SUBSTR( msib_wc.segment2, LEVEL, 1 )
              FROM   DUAL
              WHERE  REGEXP_LIKE( SUBSTR( msib_wc.segment2, LEVEL, 1 ), '[^a-zA-Z0-9]' )
              CONNECT BY LEVEL <= LENGTH( msib_wc.segment2 )
            ) AS WWT.WWT_XXWMS_CHAR_LIST_NRR
          )
        ) c
GROUP BY c.COLUMN_VALUE
/