Get the latest AI workflows to boost your productivity and business performance, delivered weekly by expert consultants. Enjoy step-by-step guides, weekly Q&A sessions, and full access to our AI workflow archive.
Summary
In this comprehensive video tutorial by Ora Trainings, viewers are walked through the basics of migrating Oracle E-Business Suite components. The tutorial covers components like SQL scripts, PL/SQL objects, RDF, RTF files, and the use of migration scripts. It details the necessity of form personalization and the use of FNDLOAD utility for effective component migration, touching on manual and automated migration options. The video also highlights third-party tools while providing in-depth examples of shell script creation for migration tasks. It is ideal for technical developers working on Oracle ERP platform who are looking to understand migration procedures.
Highlights
Understanding SQL, RDF, and RTF file importance in migration tasks 📚.
Leveraging FNDLOAD for efficient data migration across environments 🚀.
Exploring the use of third-party tools like Quintana for migration tasks 🛠️.
Hands-on examples of creating shell scripts for seamless component migration 🖋️.
Emphasizing the importance of form personalization for custom requirements 🖌️.
Key Takeaways
Migration in Oracle EBS involves various components like SQL scripts, RDF, RTF, and more 📦.
Form personalization is key for customizing features without changing the core code 🎨.
Manual and automated migration processes are both viable depending on the project scale 🤖.
FNDLOAD utility is crucial for downloading and uploading components easily 🔧.
Knowing how to properly script using Unix Shell can save immense time and reduce errors 🖥️.
Overview
The session begins with a deep dive into the fundamental concepts of migration in Oracle E-Business Suite, highlighting the role of SQL scripts, PL/SQL objects, RDF, RTF files, and the importance of understanding both from database and Oracle EBS perspectives.
It then transitions into a thorough explanation of form personalization and customization, delving into how Oracle provided functionalities can be extended or altered to meet client-specific needs using examples like logo customization and label changes.
Finally, the video delves into the practical aspects of migration, covering the manual and automated methods, detailing the role of FNDLOAD utility, and explaining how to script these processes using Unix Shell for a seamless migration experience. This section is rich with practical examples and code, making it invaluable for developers.
Chapters
00:00 - 02:30: Introduction and Overview This chapter provides an introduction and overview of deploying Oracle E-Business Suite applications. It touches on the use of Oracle's various components, such as SQL scripts—including DDL and DML—and PL/SQL objects from a database perspective. The chapter also mentions Oracle's integration tools like 'RISE WF' which may refer to common Oracle tools or methodologies encountered in typical deployments or development within Oracle environments. The discussion seems to aim at addressing templates or standard practices when dealing with Oracle E-Business Suite from both a technical and operational standpoint.
02:30 - 05:30: Components and Extensions The chapter 'Components and Extensions' delves into the design aspects related to RDF and CTL files within Oracle ERP. It touches upon the common practices in designing RDF when XML is considered and CTL files when the SQL loader is involved. Additionally, it introduces the concept of extensions, explaining that although not commonly discussed, extensions are crucial in customizing the default functionalities provided by Oracle ERP to better cater to customer needs.
05:30 - 08:00: Personalization and Extensions The chapter titled 'Personalization and Extensions' is about how products, similar to ready-made dresses, often require personalization or adjustments to meet specific needs. Just like a dress may need alterations for a perfect fit, Eva's licenses allow customers to customize functionalities to suit their specific requirements.
08:00 - 10:30: Migration Approaches The chapter discusses various approaches to migration, specifically focusing on Oracle e-business. It mentions personalization, customization, and extension as key strategies. Personalization and customization are part of the business general practices, where personalization involves changes like adding company logos or modifying layouts. Extension refers to adding new functionalities, such as welcoming messages when a user logs in.
10:30 - 13:00: Migration Script and Process This chapter discusses the initial stages of demonstrating a process, possibly related to a migration script. The speaker is planning to show the process in detail, including steps like seeding, but first wants to give an overview of the current state or appearance of something. There is a mention of discussing extensions at a later point, indicating that the focus is indeed on laying groundwork before moving on to more advanced topics. The chapter concludes with a question that appears to draw the audience's attention to a visual change or a specific visual cue.
13:00 - 16:00: FNDLOAD Utility The chapter discusses the FNDLOAD Utility and its uses. Initially, a label in a form is changed from 'hello' to a pink color, which is considered a form of personalization. The chapter emphasizes that the screen's structure remains unchanged, and only specific functionalities, such as labels, can be customized.
16:00 - 19:00: Uploading LDT Files The chapter 'Uploading LDT Files' discusses changing labels in a business application without modifying the technical source code. It explains the process of personalizing a form, such as changing a label from 'supplier' to 'vendor', using a non-technical method. The procedure involves using the application's diagnostic and customization tools to personalize the interface, akin to applying themes on a mobile phone without altering its underlying system.
19:00 - 22:00: Migration Script Example The chapter discusses the concept of form personalization in software systems, specifically how users can modify certain aspects such as wallpaper or font colors to suit their preferences. This process is often referred to as 'form personalization'. It involves setting defaults and invoking specific functionalities to align with user needs. Additionally, this is part of a broader category of modifications known as 'extensions'. These adjustments allow for a more tailored user experience.
22:00 - 25:00: Uploading RTF Files The chapter 'Uploading RTF Files' discusses various components associated with an application object library in software systems. It mentions the need to register concurrent programs and assign them to request groups, which are essential operations within this library. Additionally, it touches on the components such as messages, lookups, and flexi fields, commonly referred to by abbreviations like Vala set, DFF, or KFF. These elements are crucial for managing and defining forms and wave pages effectively. Overall, the chapter explains the technical details that relate to uploading RTF files and outlines the integral parts of the application object library.
25:00 - 28:00: Review and Additional Tips The chapter titled 'Review and Additional Tips' delves into the intricacies of concurrent program registration, specifically emphasizing XML program and XML publisher administrator data definitions. It highlights the broader concept of these components in system administration. Additional focus is placed on understanding request group assignments and their implications. The chapter also explores elements such as message look-up and form functions, offering a comprehensive view of the administrative processes.
00:00 - 00:30 deployment and when with synodos you generally come across this conference will now be recorded okay so in oracle ebusiness suit if you remember like generally as a technical deal as a developer technically like what are the components we generally design we generally design sequel scripts it can be any either it can be anything like a DDL or DML and the PL sequel objects right and this is from the database perspective coming from the normal eBay's perspective like a rice WF tools rise w f+ o AF so what are you design like if you consider Rd of reports we
00:30 - 01:00 design RDF file if you consider XML publish a report we design RTF right and if you consider the sequel loader then we will design the CTL files right and there is something called extensions so extensions we never discuss that generally we discusses the last class this is a final topic we generally discuss ok extensions just for your understanding what do you mean by extension is nothing but we know that by default Oracle ERP is provided to the customer right let us say you bought the
01:00 - 01:30 I will tell you in a similarly simple way let us say you've just bought a ready-made dress what do you do like see generally the companies build the ready-made dresses in a considering generic size of the user right so but anyone like if they require some alteration right generally they require some alteration so they will alter according to their requirement in the same way like when any customer buys Eva's license they'll customize some set of requirements the customizer solely customize the provided functionality
01:30 - 02:00 according to their requirement now when simple example is let us say if you observe Oracle e-business I have a logo called Tata Motors right so generally this is this is also this is part of business general we call it as personalization or customization or extradition this is we generally call this personalization let us say you know like a whenever you know like a user logs into screen I want to show a welcome message that's called extension right you are extending you the existing business functionality now the other
02:00 - 02:30 thing I will show you see here maybe if it is available try to show you I'll show you like a seed how do you do it everything I'll show you but I just want to show how it looks like initially okay so extension is the final topic that we will discuss sometime later but right now let me show you what exactly I'm talking about so here yeah can you see now that color
02:30 - 03:00 got changed to pink all right initially it was hello now it were changed to pink color this will be called as form personalization so here here there is no change in the screen what is changing is just some some set of functionalities let us say you want to change this label from supply to
03:00 - 03:30 business you know like vendor let us say you want to change this label from supplier to vendor then you have to go then you have to you know like it doesn't need any technical change to the FMB it doesn't need to change the source of your form what here does you just need to personalize the form you can change the label so generally here if you observe click on help Diagnostics custom code and personalized so this is of e personalize the form you are just doing a personalization so nothing but let us say when you bought a mobile phone we generally apply your themes right generally change your walls
03:30 - 04:00 wallpaper generally or change the font colors right you're just changing the theme so you change generally just changing the you're just personalizing your particular component according to your requirement right so that is called form personalization can you see here we are just defaulting some values calling some functionality set on the lower this is called form personalization we call this particular this particular requirement generally we call it as extensions they're called extensions okay so right live and work W stands for workflow f is
04:00 - 04:30 for forms and Oh F is for the wave pages apart from these things if you remember like for everything like let us say if you want to register a concurrent program or if you want to assign the assign the concurrent program to the request group everything is part of a boil application object library right so what all we have in the application object library we have messages look Vala set D F F or KF f we generally called as flexi fields and world more
04:30 - 05:00 and concurrent program registration and xml program XML that's XML publisher administrator data definition right there they also they are also part of a well concept and what are you more ya request group assignment assignment and even these things you know it like messages look curve form function Meno
05:00 - 05:30 responsibilities everything is part of a well so what do you mean very well you know like a wall is a foundation library or foundation module for Oracle yeah right this is one of the foundation module for Oracle ERP it's a by default required for any of the Oracle ERP implementations and it is it will be installed by default it's a foundation module because that on the basis of this only your particular Oracle ERP works right so now let us say assume that liquor you have done particular fire reports in one environment assume that you have done fire DF reports in one
05:30 - 06:00 environment and Phi RTF reports in one environment let us say this is a development environment now everything is tested and what you want to do is you want to migrate this particular ten reports total ten reports right phi r DF and phi RTF you want to migrate these particular ten reports into testing environment so what do you do i want to nothing but c liquor let us say this environment is available in the like let us say a of dot tata motors
06:00 - 06:30 dot-com this is the URL for the development instance now let us say i want to deploy i want to deploy these particular ten reports into these in this the other instance test george tata motors calm so what do you do will you perform the same steps again there in the test environment usually in warehouse environment will input V let's put the jobs in dev environment and will
06:30 - 07:00 import them in the test environment yes perfect so it generally here also we will be doing the same thing so there are two approaches Juanes I got a couple a couple of operation not just to let us say the first approach is total manual approach nothing but you'll bet from the same steps what you have done in the other environment like doing a step by step procedure step by step like whatever like Kate execute it will create a concurrent program then you know create assign to the request true right you'll be performing this step by step this is a manual approach this is generally
07:00 - 07:30 preferred if you just have only single component one or two right generally if you just have only one or two compressors require any special migration the other thing is like using your migration scripting generally we call it as migration script if we generally designed this using UNIX shell initial script other one is using any of the third-party tools there are some third-party tools which are available like what I know is there is a tool called Quintana and there are some other some other vendors are there for that so
07:30 - 08:00 we just and maybe even source off-site there lot number of tools which are available in the market it depends upon the client because using a third-party tool is an extra investment for the customer the one who pies a wise a Eve is like a some client doesn't prefer to you know have a third-party tool for the installation migration because there's a extra license for them it's extra money investment right so it depends upon their usage and all those things so these are the general approaches you've generally come across for the migration it can be a manual step manual approach or using a migration script approach other one is in the third-party tools
08:00 - 08:30 approach right so what we prefer to do is like you know what I mean training we generally prefer to go with the second approach because third approach anyway this is just a tool depends on the customer you have to learn it and you do anyway that is that will be very easy one so it should it won't be any tough because it doesn't require any programming at all just you will have an appropriate documentation for a tool and you just need to read it and you have to go with that so come into the second one migration script howdy do it right how do we migrate what are the steps involved in that so before proceeding any questions
08:30 - 09:00 ooh yeah okay now assume that like a Farrar DF report what'll we do it right so remember like whenever you want to migrate any component assume that what you have done from starting to the end of your component then that's the way you will not miss any component for migration generally in the migration most of the issues what we do is you forget to mention up appropriate source files and you later face issues right that is the reason what we do is whenever you do whenever you want to migrate any comment just understand that
09:00 - 09:30 what are the components you have designed for that particular program and then move the all the companies accordingly for RDF report the first one is your RTF file this is a first step what we do right our dear file other one is concurrent executable concurrent program and then on the other one a request group registration right so generally these are the four step you generally come across for the RDF report anything more do you think maybe there
09:30 - 10:00 can be extracting only if at all if you have designed some custom package right SQL or PL sequel component because tables will be that the seeder tables whichever whichever you have in the test environment with development environment will be available in the test environment also but let us say you fee have done some custom table creation then you have to include your custom table sequel or PL sequel scripts okay if you have done any extra component or any a sequel or PL sequel stuff then you have to include them generally these are the force for things will generally come
10:00 - 10:30 across right so now what components we have to move the for the first step for the first step we have to copy the RDF file to the appropriate location into the destination environment right maybe the appropriate you know like it can be what you say like it can be a friendly table it can be ap table or a custom table depends upon the target environment right and next thing is for a concurrent executable plus concurrent program or even if it all if your concurrent program is having any of the parameter the value set parameters what
10:30 - 11:00 we do is there is something called fnd load there is a utility called fnd load it is a utility I mean this is just a program which is provided by Oracle for the purpose of downloading for the purpose of downloading as well as uploading the a components this is specially for the evil components if you want to download or if you want to upload any of the evil component you have to use fnd load utility so now in our case what do you want to do I want to migrate a
11:00 - 11:30 particular report from one instance to another instance right so I don't want to perform the step by step registration because generally let us say few concurrent program is having five parameters each parameter is having a valid set at least if you take fifteen minutes and it is not even error-prone right there is a chance that you may get into error also let us say if you have been ten reports how much time it will take at least five hours for that right but if you just do a micro if we just design a migration script we just at least just a 30 minutes job okay so now
11:30 - 12:00 if any load is a utility which is provided by Oracle for the purpose of downloading as well as uploading the components so from the source environment you have to perform download nothing but from the development environment what we do you just download it and the target environment what you have to do you have to upload them in the target environment correct but how do you execute what is the parameter we have to understand them right clear I'll
12:00 - 12:30 just show you one examples I'll just try to show you one example because and one more thing is you cannot remember the total what you say the script parameters and all those things what you have to remember is just - a load okay because we it is very difficult to remember we we generally just google it and get the scripts okay we just type a penny load concurrent program that's it we'll get the all the information we'll
12:30 - 13:00 check out program and let's see how do we download and all those things okay this is very important even in from the interview point of viewers it is very very important so so better what I do is I I want to give you some kind of you know like assignment or send something like that so you'll have a clarity on that because we face lot of issues generally during the migration okay so
13:00 - 13:30 just search for the concurrent program see these are all labor and cable companies if you observe for every of the component you have a if any load command there is something you have to understand I will try to give a clarity on that right where is that concurrent program yeah see you have control okay
13:30 - 14:00 so here just observe carefully okay you have a pending load command right this is a command so this is this is just my II hope that this is a design using a C language okay and this is specially specially for the Oracle ERP environment this command is only for ERP environment it is not a database related command okay is the Oracle e-business related command and followed by your seeing which language oh I I think that this particular if any load would have been
14:00 - 14:30 designed using C language I I hope that because there is no because we don't know how Oracle designs a particular particular utility some you know if you see in within the Oracle e-business Ord will come across Python you come across Java I come across Perl and there is something called the different objects see or something there are large number of programming language it uses in generally okay but for a developer it doesn't need to unlearn all those things okay I just for our clarity or understanding that's the only thing if you want to get deeper
14:30 - 15:00 into the what you say the jeebies technical kind of thing then you can just get into that anyways so now here the first command is a referenda load command okay followed by this is apps or schema this is AB schema password database okay is password and followed by oh we have to go with the parameter oh and again why followed by download so it in this
15:00 - 15:30 part is just a default you just follow all these commands download and here followed by here if you observe carefully it is having something called LCD file LCD file okay and there is something called ldt file right this is a download command right so for the download command what are we what are we providing here the first thing is your app schema password this is this is same for every particular level component it's just the sum of the parameters will get changed the first thing is your app
15:30 - 16:00 schema password followed by the location of your LCD file this is called loader control file and other one is this is a download file LED file loaded data file this is a file which you have to copy to the target environment loaded data file this is our custom generated file and then you have a set of parameters these parameter differs based on your appropriate LED command appropriate LCD
16:00 - 16:30 command for a specific concurrent specific a well one now for the for the concurrent program you have this a FC PP r bo g LC t right but less if you observe observe some other some other a well company will have a different one observe here let us say you want to just download a lookup can you see what is a LCD final-year AFL right AFL vml you this LCD file and even the parameters differs if you observe carefully for this one the parameter name is offending
16:30 - 17:00 lookup application short name and lookup type but for our concurrent program it was totally different right it is having a parameter called concurrent program name so the command is same again if you observe here the command and these particular these initial things are same Efendi load schema password 0 why download these are same but what is differing is the LCD file name and the parameters are getting deferred clear you and now what we do is we want to
17:00 - 17:30 download one of the or RTF report which you have designed right so let us see let us understand how do you be executed right well that is what we had Wendell Stan posts so let's take any of our existing report go to application developer then current program program like six what did we mention la or yeah let us say this is okay this is our day of not audio yeah this is our day of
17:30 - 18:00 right this Rd of base report isn't it the short name actually believes this short name we have should not give air for any custom report it always has to start with X X I think you should go with x6q way you have designed all the reports with x xq a minor lytx excelling okay this is good for me yeah yeah this rdf report right so how i'm telling this rdf on what basis there we even know I
18:00 - 18:30 can report yeah the execution weather is Oracle remove the execution which is yeah whenever you see when you whenever you have an executable method are this Oracle report which means it is built an RD of concept okay and other thing is like for all the evil comprends we just need to under you just need to know the table names that is very very important for every company you have to get that which table concurrent executable is stored which table can
18:30 - 19:00 grant program is stored which table requests groups are stored which table menos lookups value sets everything you have to know it and if you don't know table name what you have to do help record history help record history click on help nothing no no no no no diagnostic Diagnostics examine is required if you want to find out the column name let us see if you want to know like let us say you want to know
19:00 - 19:30 which column it stores or which column it is referring Diagnostics then you have to refer examine then it show it tells you the column name but it is off it is of not much use generally it is used when you this kind of thing is required when you want to perform personalization kind of thing okay another thing is now here if you observe let us say click click on help and record history in this table you will not get all the information now let us say if you want to if you want to get the executable method name you'll not
19:30 - 20:00 get here because Oracle Qin this is a relational er data it is what you called this call our DBMS right it will not store all the information in a single table right it will you'll have multiple tables involved for storing any of the component as well as it will it will it will not base the memory now let us say for concurrent executable what is the unique ID concurrent executable short name right and it's Amy for concurrent program what is the unit name yeah so there are like couple of things like that even now only your application name in this one right it'll never store application name it
20:00 - 20:30 will always store application ID in the database I mean to say in like in the referred tables so I'll show you one example so then you can get clarity I will take this one okay let me go to toward or sequel developer are comfortable with toad or not Eddie yes I am okay yeah that is generally required because in some of the environment they prefer sequel developer or some environment they preferred toward
20:30 - 21:00 you
21:00 - 21:30 and one more thing I want to ask you so this particular one which I mentioned here is this a table name or is this a view what is it it said you didn't you yeah because it is having underscore V right yeah so you can also value it from here
21:30 - 22:00 space okay it's an object type is a view right now this is a 1 and now what I'll do is let us say concurrent program name right concurrent program name
22:00 - 22:30 not getting any name so this is another column I think that's the name is user underscore concurrent program I guess yeah right this one and here it is having application ID right application ID zero public in ID is 0 for the a well now if you want to get the application
22:30 - 23:00 application name also then you have to again join with FN you have to get stable isn't it and here if you see execution weather code is P it is not even telling that XQ it is not showing Oracle reports here right yes so this is how it happens so there are lot number of tables we have to join and he does it will not tell you it will not show you the exact concurrent executable information it just it is just having a ID called executable ID you have to join with the Efendi concurrent executable table and
23:00 - 23:30 then get the concurrent executable information also if you want so that's how we have to join with the multiple tables okay yeah yeah so yeah now for this download 1 what is the parameter you require the first thing is application short name what is our application short name for a AOL what is application short name these are application right so but they
23:30 - 24:00 require you have to pass application short name it is FN sending yeah finding and then concurrent program name you should pass concurrent program short name not the concurrent program name ok you have to pass concurrent program shortening so now just pause this one and now what is expectation when you execute this command what are you expecting it has to download an l DD file so here what we do is mention your concurrent program short name underscore CP like this so that you can easily
24:00 - 24:30 understand how this is your file which you are referring okay clear or so what all I have change I will repeat see for this command this is a download command for the concurrent program this is a download command for the concurrent program so this particular command will give you it will generate an LCD file it will generate LDT file and what all it will include it will include concurrent
24:30 - 25:00 executable definition it will include concurrent program definition and also any of the parameters whatever you have it and any of the value cells which are linked to your concurrent program parameters also so for value says he doesn't need to have a he doesn't need to download extra explicitly when you want to download concurrent program whatever the values which are linking to your parameters they will also get generated automatically okay is yeah so
25:00 - 25:30 we're not Qing Ling this stop like Effendi table this is where it will download and when you talk patch is a friendly table this one patch one one fight this is a location of the LCD file I will show you see this is the location of the LCD file so for each particular eval component what happens is like it has to generate the loader this one it
25:30 - 26:00 has to generate of a data file right loader data file so what Oracle has done is for it has mentioned the LCD files in a particular location in nature so by default every AOL sign will be stored there no no no that they are not that is not the location of your AOL file that is a location of the LCD files which Oracle is using which Oracle uses for the purpose of downloading the LDT files there is a difference between ldt file and LC t file right this is allocation of the LCD file but
26:00 - 26:30 here for low downloading ldt file i have no i have not given any location it this will get generated from wherever you are executing let us say you're executing from a particular location it will just generate the little felt in that particular location itself I'll show you appearance we have to go to oh yeah this is for the font right I want to change the color also okay sorry
26:30 - 27:00 because you see the recording general like if you don't change this color it will not appear the comments will not appear for you so default background yeah this should be white yeah can you see no this perfect see what I'm saying is echo right this is a location of the import commands right can you see
27:00 - 27:30 the lay LCD files here LCD files hello yes I am able to see yeah so these are the oracle provided LCD files these are called loader control files and now what we are trying to target we are targeting
27:30 - 28:00 to download the LD d file why do we require da why do you require Elita file because to upload this if you see if you want to upload in the target environment what do you require it just require the LD t file that's it so from the source environment get the LD t and the target environment you just pass the LED file so automatically it will register everything there ok what is the role of this LCD file okay see now here
28:00 - 28:30 you are passing some parameters right and now a well component will have a different registration right I'm basically nothing but if you consider if you consider the concurrent program it is stored in one table if it comes is executable it is stored in one table if you consider a valid set they are stored in one other table right so this LCD file is having all the logic nothing but liquor let us say each LCD file is linked to appropriate component I mean to say let us if you want to download content program you have to use this particular LCD file because this is
28:30 - 29:00 having the logic for the purpose of downloading the concurrent program registration let us say if you want to download a look up this logic is available in the another another another another LCD file it is nothing but a function you can say see you have a separate function which for each particular a well component I mean to say a down look up you have to use this LCD because this LCD is having that particular logic it will understand from waiter from way to region how to generate that is a major thing okay yes okay each a well
29:00 - 29:30 component will have a different LCD because each a well component will get stored in a different table and each LCD will have a different parameters having everything the single olicity is very different difficult for developer to understand as well as to design also that so this is what that is Oracle I separated everything so it is very easy to understand and read is very used to pass the parameters also right if you have a single LCD file you just need to understand you have to pass the different parameters and the program may
29:30 - 30:00 fail if you make the program complex it's very difficult to maintain also write else reason now what we do is so the next question is like a way to execute right let's examine way to execute and where it will generate the little file so here if you observe let's say we can generally what we do is generally for the migration purpose for every user generally in a normal environment for every user they provide a location in the home environment or you know like a your DBA has to provide
30:00 - 30:30 the appropriate location now we have logged in with the Apple manager so by default we can access our home account isn't it correct now what I'll do is in the home account of Apple manager I'll just change CD April manager make directory lemon July 2:18 it so can you see the this one the ones you like yeah right now this is a place where I am now right so change mode triple7 11 July to 18
30:30 - 31:00 have given the all the permissions for this because sometimes if you don't have the appropriate permissions it you will not execute the commands right is the first thing now I'm in which location I'm in this location at home home Apple manager 11 July 2018 so now when you execute the Effendi load command what happens is now here for down for the LDT file I have not mentioned the location I have not mentioned the ldt location because I just want to download the write the place where I execute it I
31:00 - 31:30 don't want to mention any place if you don't if you want in a place we have to mention the appropriate phrase also that's not a problem so I'll copy this command and go to the prompt right click here copy that paste it that's it and now enter it is generate a log file also and now it has to generate the little file just say go to the winscp and refresh here it generated one log file and one ldt file NEC and now just in Sami and see the log
31:30 - 32:00 file content so I just mentioned that download at this one downloaded it yeah this is what I want to refer see you in your devoted mentioned downloaded executable downloaded value set downloaded program also right right so this is these all the conference it will download is all the comments it will download now what what is it contained inside the LDT file right there's the next thing what is the content what exactly is a readable format is a binary
32:00 - 32:30 format it is just a text format observe here it's text for text format so here you will have everything what we have used for our concurrent program definition as well as a concurrent program as well as context cutable also observe carefully here so somewhere you will see all information which you have mentioned for our concurrent program it these are valid data oh it will not have the table information I remember it will not have the table name this will have some way
32:30 - 33:00 to identify it may have data types and all the same but you know it will not have the table names here if you observe begin executable can you see this is my concurrent executable name this application short name right and it also mentioned when we created who updated when it updated and exhibition method code P yeah yeah they say executable name then the values at auction finally you'll have the concurrent program options also can you see program is a
33:00 - 33:30 concurrent program name these are concurrent program name right so now what exactly it is doing it downloaded all the content into one of the file in a understandable wave which that particular tool understand is not for the developer friendly command content right this is not for developer fair it is not a we cannot understand generally to say I want to see like why did you why is this having this comment begin program and program kind of thing because it has generated their program such a way that they can understand nothing but the tools which Oracle as design isn't it ok
33:30 - 34:00 now what is the next thing we want to migrate this to the target environment right so far clear teal yeah so now now we have understood that how do you download the ldt file right the next target is how do you upload nothing but how do you migrate to the target environment so when you want to migrate I mean to say like when you want to register a particular compound to that target environment what we have to do first of all so for a concurrent program
34:00 - 34:30 in our case we have chosen the RDF file right we have to copy the IDF file to the appropriate location copy the IDF file next thing is upload the LED file right upload their LD file which will have the concurrent program definition registration I mean to say clear so one more ok so for copying you just need to use a copy command I'll show you the total migration script also for copy for copy what we do X X let us say QA or
34:30 - 35:00 maybe we can have the IDF file name right see this is ever IDF write copy IDF file into appropriate some location the target location isn't it this particular command you have to mention in the shell script ok now let us understand how do you upload right how do you execute the target how do you execute the append a load up load command so for this one what is the
35:00 - 35:30 input we just need to pass the LD t file name if any load ab schema username password and then the LCD is same again l see there is no difference for the there is no different LD t for the upload and download of a specific component isn't it and there is no extra parameters what you have is this these things warning and all these things now what we do is like it I don't have any other extra environment but I'll try to show you how do you exhibit the upload command so what I'll do is to understand this in a very easy manner let us say these are
35:30 - 36:00 right this is a little file I'll just change the name here to understand whether our upload command will be as successful or not right I just append 0:07 I'll just save it okay now assume this is your latest LED file from your source environment okay and so in the target environment what we have to do now in the target environment copy the Ardea file to a proper location and also you have to copy the audio here we have to copy the ldt file also right copy the ldt file also in the appropriate location because for this command you
36:00 - 36:30 require ldt file location isn't it for LF any load executable command you require where is your relative file available isn't it so this command you have this command you have to execute in your target environment now assume that we have logged into a target environment okay I'll just remove the log files so as of now I just have only one file okay I just have only one file I'll just execute here I think it got executed twice in your executed refresh
36:30 - 37:00 now see the log now it said that all during database table dum-dum something like that upload from stage table something like that it mention right now what we do is so go to the concurrent program right I just close this window open it again refresh so is it not showing it is not showing the latest
37:00 - 37:30 information by it because I have updated 0:07 at the end for the concurrent program isn't it how do we understand it okay you're talking about this 0:07 you didn't get it yeah it means that our LED is not successful right our upload is not successful isn't it yes so generally what happens is like II just need to clear the cache a or maybe just logout and login because I don't have any other a No
37:30 - 38:00 sorry yeah see if for development and you eighty instances we can't receive display but when we are working in a production how like how we would even in production uniques box we will have access we can move the audio file and ldt file to that particular location okay I'll tell you see for that I'll tell you let me finish this and then we'll explain you okay so so why I have modified relative well because I just
38:00 - 38:30 want to show you that upload is working successful generally we should not change anything in the ldt file okay Oh strange this is the one we used it oh one minute and it is updated because generally okay I understand now no it could say all right saved access your ordering two programs
38:30 - 39:00 for the same no one man time I think it was not executed or something let me try this my ABS app upload CP why it is copy two times most problem I think
39:00 - 39:30 can you see no this one hello yes yeah it was you see it was it was execution problem actually so and maybe in I think it has to update the record history
39:30 - 40:00 somewhere it's not showing updated tale it did not represent guess but generally it has to refresh okay so now the basic thing is like a we just see we just how do you upload right it's just a single V let us have a migrate only one particular report it is just a I have five minute job but let us if you want to migrate 5050 reports so this is not ready we have to do so what is the way we have to do is so if you want to upload the larger number of things first thing is for everything for every particular well company you require
40:00 - 40:30 download you have to download all the l ET's file all the LEDs of your respect to a well components right and then what we have to do is you have to design a migration script so I'll show you one example which I used in our environment Kim is here so this is the shell script UNIX shell script so what we do here is so yeah can you see one example here let us say I just mentioned a core migration
40:30 - 41:00 copying the SQL file to a destination I just mentioned which location I am copying and I am executing the script this is where the SQL and pl/sql components you just need to call a skill place command for the purpose of invoking the scripts you want to bike you want to let us say you want to migrate a table you want to migrate a PLC code package or maybe a trigger or have you something like that right you have to go over this way let us say if you want to migrate the thing which we are discussing now right like a let us say where is our concurrent program yes a FSC PR og right this is CP one yeah
41:00 - 41:30 this of CP can you see uploading concurrent program dot L DT and what I mention here I just mentioned again the same location right fnd top import LC t file and for the l dt i have not mentioned in location because from wherever you are executing just you are just like how it will just read the file from that particular patient self that's the reason we have not mentioned here so this is what we do in the general production environments we just use a shell script
41:30 - 42:00 for that are you getting on I'll show you see like a very simple thing what I do is so here we have added one some extra logic you know like a to generate the log file whenever you execute and all those things so I'll try to use the same logic okay I'll use a design a shell script now okay you see that xxq a
42:00 - 42:30 mig script dot sh okay now here what I am trying to do is I'm just validating my database - what is correct or not this is this is for the purpose of that only okay this is for that purpose and here and after that echo start of migration script and here I'll generate whatever the thing which I meant perform in a particular this thing to a lock so
42:30 - 43:00 that in a like if we can validate whether our script is working fine or not right this is output redirection in the UNIX this angle brackets right angled brackets are redirect is redirecting the output okay now what I do is I'll try to migrate I'll try to execute to my migration script so here always copy trip in the text mode because it will not execute if you it'll not exhibit probably if you move in a different mode
43:00 - 43:30 you have to be manually copy the content in text mode now go to the command prompt LS star SH always give triple7 mode for a shell script right now I'll execute my shell script here I just need to mention dot followed by script name and it is just asking my database password that's how we have design apps and now it generated a log I generate a
43:30 - 44:00 log file just observe here refresh here it has to generate a log scale can you see a log fine l OG fine yeah yes now this is the migration script right now we'll just do some more changes now let's say I want to let us assume that I want to copy I mean we just want to copy the total a concurrent program right so for the concurrent program what you require I require an RDF I'll echo copy RDF file to destination so where is your
44:00 - 44:30 RDA file we have to mention that particular one right let us assume that let us keep that file also I'll just take any of the file ok ok this is one of the file right so this is my file so what I have to mention CP RDA file to
44:30 - 45:00 which location you want to copy so don't hard-code the location I mean you have to mention the logical locations you have to mention appropriate top rookie - the top reports us or maybe the appropriate custom table reports years but it let us say I will try to go mention mention it does GL top and we will try to evaluate whether it is available in jail top or not right this we have to dissolve we have to mention the copy command next thing is what is the next thing the effect load right
45:00 - 45:30 yeah you are saying something but but from there we are copying the from which location we didn't leave any it will copy the file the assumption is not from very exhibit the shell script from there it will read it now let us see if I execute this shell script from this location from me this location right now here so come here you're executing a shell script it means that it it should have the file at that location itself if you let us save your
45:30 - 46:00 file is not available at that location what you have to mention you have to mention the appropriate location let us say you have to mention home home slash an apple manager something like that you have to mention like this this is source location indication if you don't mention if we don't prefix the location it if you don't prefix the directory it means that your file is available in the current location itself the place where your script is are getting executed okay
46:00 - 46:30 now this is my download command yeah this is the execution off of fnd load ldt for this one okay
46:30 - 47:00 and love migration script yes so this is one of the sample for one single program right so now what we have to do yes so now let us see if you are executing this particular script a particular location let us say better what I will try to do is I'll show you I mean I'll just say okay whatever I'll create an i/o tree okay so that migration source okay now
47:00 - 47:30 so this is my source system where I have all the files okay right now clear so now from the source system let us say you want to migrate a concurrent program from development to testing in test instance whatever you have to do you have to get your RTF file you have to
47:30 - 48:00 get your LED file and then you have to design your shell script also right now these are three files which I have so what you have to do you have to copy these three files into a target environment isn't it you have to copy these three files into a target environment let us say we are in a target environment now let's create another directory main directory target migration okay change more treble seven
48:00 - 48:30 target migration right now I'm in the target environment target location so I'll just copy all the files here so first basic thing is the text files always has to be copied in text mode right so these two files shell script and the LED file I'm copying in the text mode f-fine transfer settings click on text and the Ardea file doesn't matter jen is rdf is a binary right so just
48:30 - 49:00 either you can copy make sure that you select binary or else default is also fine with this now what I have done I will copied all the relevant files into my target environment right and then what I have to do go to the go to the booty she's changed to target migration right ls- LTR check the files better give all the person
49:00 - 49:30 permission with rebels even is not required what you have to do is you have to give the appropriate it's seven four four or something like that but not to have any complication stuff just simply give triple seven LS there are three files right one is shell script and two source files RDF is Alaskan green program and yeah any questions or clear okay now let us execute our migration
49:30 - 50:00 script x6q a migration script so as per the design of our migration script it just required the database password and that is apps database password in our case username and password both are same or engines giving amps here so it just executed the stuff and refresh here right it generated the log observe the log if it all if it gives an error it mentions start copying the file execution of the execution end that's it right so now one thing we can verify is whether our RTF
50:00 - 50:30 file got copied or not to appropriate location right and generally if the copy command fails it will give a log because that's how we have designed right here if your copy command is failing that is our script C as per our script design let us say if this copy command gets failed automatically has to generate the log here okay I'll show you an example here let us say what I'll do is I'll just mention Anna a junk file name okay
50:30 - 51:00 here I mentioned a file name which is a file name which is not available in our particular source location i will copy my migration script here because we can't validate all the files right let us say you are copying 50 files and we cannot validate - we cannot go to 50 locations validate that right it is very difficult now execute oops can you see cannot copy no such
51:00 - 51:30 file or directory generally it has to generate in the log file itself so there is somewhere here I think I just need to mention like this so that automatically it will generate the log file within the file itself does not need to display on the screen again text still giving in
51:30 - 52:00 the on the fly actually but generally in our case it gave it gave the output to a particular file it depends upon the shell UNIX shell which you are using that also matters now it just gave there right here so by just observing this we can easily understand okay there is some
52:00 - 52:30 issue with the copy command now with that the destination got copied or not we can just try to check that also for the one file it was successful right the GL top so we can go to jail top so our clamps me is Apple GL to zero reports us so we copied a particular file just click on change more and this one can you see yeah that's it and if you want
52:30 - 53:00 to execute any sequel press scripts let us say if you want to migrate you want to migrate a table from one location to another location so for this what I will do is let us take let us create one table okay so let's start from EMP or maybe yeah we can take this EMP table only now so we can get the table script right from taured we can get it time from not I don't remember from sequel developer but from code we can get that
53:00 - 53:30 and now this this one I'll just control click on this scripts you
53:30 - 54:00 you you so copy the Steven
54:00 - 54:30 all right it's cool trade the command is good so now what I want to do is like we are the same database so I cannot create the same table again right so what I'll do is I'll just drop the table okay I'll just drop the table drops table yeah
54:30 - 55:00 table of this name right there's no table with this name okay now what I want to do is I want to create a table q1 well this one XS Q and it's good even so I'll just create XS Q a a 1 dot SQL write this my table script okay and here
55:00 - 55:30 what I will do so here I'll just mention X X migration of or let us say invoking XS Q a underscore you're not SQL script to create table I just mention a skill a skill plus Apps slash so don't hard-code the Apps password because in the target environment you may not get you may not know the apps but write in the data in the production environment what we know
55:30 - 56:00 is they're taking the a password as an input from this migration script right so mention the variable here this variable perhaps password like this mm-hmm okay and then xql place this one followed by this is a file name right just mention the file name that's it so this file required one more thing important thing this file generally requires yeah that's it okay so yeah
56:00 - 56:30 sure show error and exit right you require exit also if you don't give exit it'll not come out of a skel play SQL plus command so this is our migration script now let's see the difference now you have to copy these two things transfer mode sorry not here oh I put my
56:30 - 57:00 nature target migration copy these two things in a text mode now why remove the log check the files yes we have the files unless sorry xsq a migration apps okay okay
57:00 - 57:30 invoking this particular step to create a table right so now just check out whether the script got executed or let us just check out where the table got table is available here right so I'll just let us say shall we start from XS Q and s code E 1 so e 1 write the table were created right is so this all these are we create the still play stuff
57:30 - 58:00 basically please delete it and these are we copy the files the same we can perform lot number of things right like I can try with the RTF files or you know like data definitions lookups many things like that and for RTF letters and what we do is for RTF for RTF files you just need to call this particular ility let me see there's a Tilly called Java this 1 X 0 loader for loading
58:00 - 58:30 RTF files you have to call this particular utility XD woo loader so this require again similar username password but it required the TNS entry also it requires TNS entry for excusing exterior means no I meant to say so far what we have used which come and we've used we
58:30 - 59:00 have used if any load command right for all label components we have used if any load for RTF files if you want to upload any of the RTF file we have to use the XD woo loader that is another utility especially for the RTF files ok i'll show you an example see so the variable to access the database with the out DNS entries know why we have do you teen and centrist when we are using Stevo loader I'll see the reason
59:00 - 59:30 is if any Lord is some particular command which the Oracle design using some other language now this is specially a program which Oracle design using Java language so this requires this is required in a century okay because it depends on the language which you design a program right that's the reason here now what we do is let us say we want to upload a particular RTF file so I think you know in our system you have lot number of hotty ups right let's
59:30 - 60:00 get any of the existing not T yeah yeah okay I have this RTF migration script so first of all to upload any of the RTF file first of all we have to know what is your data definition name right template name I mean template name template code so I'll just show you so
60:00 - 60:30 this is my template name isn't it template code okay now what I want to do is so here X 0 loader TNS train
60:30 - 61:00 application short name application short numbers offending lob code so LOV code is nothing but our this one the template code language territory and what is our filename so let us help the final image this one ripped one okay okay this my filename and I have to
61:00 - 61:30 mention the TNS ring so forty nesting also we have we have designer logic so we just need to call that so these are we are generating the TN a string so I just mentioned that yeah it is already there this is Tina string command if you see if we try to execute this command from the UNIX you will understand what we are trying to what we are trying to generate can you see it generates your database thinnest string this CAD command followed by context file grip command all those things it generates a
61:30 - 62:00 total script according to the requirement here yeah yeah so now what we want to does we are trying to just target target BJ we are just trying to understand like how you are uploading an RTF file right let's see how it works sorry now we have to cop
62:00 - 62:30 what all files you have to copy it will copy your migration script which in the text mode and RTF file in a binary mode because RTF is a binary file fun binary files if you just copy in the normal take their default mode also if you not give an error but generally for the shinnok shell script this has to be a text mode that's for sure even the Java class files whenever you're copying for away purpose they have to be in a binary mode then only it will work remove the
62:30 - 63:00 log first exit first shell script or remaining all our binary file if you see led LED is a text file right secretly this sequel is LDS equal s dot s guilfoyle is a text file if it is readable it is a text file if it is unreadable it's a binary file now I'm it is like a readable in a sense let us say if you are trying if you are trying to open any file in the notepad if you can read that content it is a readable one
63:00 - 63:30 else it is an unreadable one for the shell script even you can open with any of the editors it can be notepad it can be WordPad anything but let us if you are trying to open RT of RTF file or maybe the RDF file using any of the notepad it will just open the total binary combined data contain you cannot understand right that's a binary one okay yeah let's see what happens no yeah it gives a manner or something invoking I think some issue
63:30 - 64:00 a syntax error near unexpected token okay maybe somewhere I missed the and this has to be in a proper else it will not work okay so what we can do we can try to validate this command right just try whether this works or not what we do is better I will take this command so I will copy this T in a
64:00 - 64:30 string here T in a string here okay and I I'll mention apps here and this command has to be in a single line okay this single a yeah let's try now okay clearly says that syntax near unexpected
64:30 - 65:00 token are this close properly yeah these are closed properly I have short name in lovely cold supplier let me get it yeah tell me thinking that's not thing to do with the braces this happens generally
65:00 - 65:30 maybe this this one we will try either you can type everything in a single line or maybe you can try with multiple lines also this also should work let me show you this happens only for the first time okay not every time you have to struggle this much generally for the first time if you had line to copy then we'll generally you have to face these issues very sort in a string here this is a string okay and then apps parse bodies
65:30 - 66:00 apps and RTF file name is this one and where is our LOV code this our logic code right abs short name is offending and language is en theater is 0 0 generally for the US thirteen regional mentioned as 0 0 language language is es
66:00 - 66:30 or en should be key right then we are running a content program from pl/sql we have used en yeah but here it is showing yes let's see or events where is the token it's token
66:30 - 67:00 it is referring syntax I don't need an extra token it is this one okay now it says come and not phone a little bit type ok ok ok this should be the
67:00 - 67:30 same line right this is should be here
67:30 - 68:00 strange let me get this again somewhere upload right now this for data
68:00 - 68:30 definition and this world RTF we want to upload RTF everything is saying this you know like a somewhere the parentheses and all those things are could be is mistake DB connection let us sell mention G elbow dev comm 1521 and V is and apps password is apps and RTF file right and
68:30 - 69:00 any other thing en en okay sorry and only a friending and okay okay so this is how it has to can you
69:00 - 69:30 see start uploading target file creating a new record in the ex develop stable something like that right so it's successful it's a successful execution but still you can validate what you can do again try to check this RTF I try to check this particular template and it has to show to it two templates that is l TT oh this code name no I think no no
69:30 - 70:00 I am referring other one right this is our template right supplier our EP I think template code what I mention is wrong it is it is under Scott empl just observe here can you see the template code it is under Scott empl this we have to mention template code we have to mention that's wrong again so it could have been created with other template or something
70:00 - 70:30 lob code under Scott empl okay this menu mentioned this now let's try again so these things generally happens very difficult okay the program got successfully executed without it is it is perfect but still regarded as right we have changed only the ego big code that's it yes yes
70:30 - 71:00 can I see Hardy p1 yeah yeah okay this how you can upload that template so even for the control file also you have to follow the same process the control file you have to mention follow the same process x2o control fire right so for
71:00 - 71:30 the all XML stuff you require this particular particular thing you have to use the XD whole order command ok so what is a thing you can try to do is take one XML report okay take one XML report I will mention the script for you so you can use the script I got my bacon copy had the same script what I can do is same script you can just simply execute from the shell script that's it that's one a difference every
71:30 - 72:00 independent command should be perfect once they are fine just mention them in the shell script will just execute one by one that's only difference okay so maybe what you can try to do is take one RDF cardio-based control program an RTF based concurrent program and try to design the shell script or maybe the commands if you don't worry about how you design but at least check out what
72:00 - 72:30 come my water is a protocol Menon what is the download comment and try to exhibit commands so that so that at least we'll get some clarity so once we do any of the Nabila yeah that's a bit that's how we start it you know that so we have to lenders piece by piece so just try with concurrent programs first one RDF report and one RTF report and once you're clear with that then you can you know like I try to play with the shell scripts like copying a files may be expecting this executing executing a
72:30 - 73:00 PL sequel stuff or even you know like yeah invoking this Gillard rescue loader file or inverting the sequel file the lot number things we can still do it and even in a register you can register a UNIX shell script as a concurrent program also I think they are not discussed that yet yeah d haha we have discussed about every components right in that we mentioned everything except pl/sql or
73:00 - 73:30 SQL PL sequel SQL script so except this whatever we write in our color than an that the remaining all our usual components mm generally like here dimension right that is that yeah these are enable these are only things which are able right what are 30 meaning you
73:30 - 74:00 mean remaining components like there are something called a ami ami role management engine there are few more things also part of a while only we are writing shell scripts only for the boil components no no no not only for a boil for every migration nothing but for sequel PL sequel wave workflow for everything we have to use a migration
74:00 - 74:30 script only is there any like we do we need to follow any orders while we are writing the shell script no it's there is no specific order but you know there is a dependence in matters right now let us say you are designing you are going to migrate a particular Java based page so or maybe let us say you want to migrate a view so first of all you have to create the table then only have to migrate the view right else it will not work or let us say you are migrating a package all the dependent tables has to be migrated first then they have to
74:30 - 75:00 migrate the PL sequel package right those things you have to consider yeah now let us I'll tell you one of the scenario let us say you have a you have a RTF report which is based on RDF which is based on the RDF one so what do you do we have to migrate first RDF then you have to magnate RTF later right so that's a sequence we generally follow depends on the things
75:00 - 75:30 for all the components we have to go with the same the single shell script you know like letters you want to migrate any of the RDF RTF even in the sequel order stuff you want to migrate a sequel or the control files yes we have to go with that in this particular migration script only see first you let us say we consider sequel order what do you do we just need to cooperate CTL file and remaining is again a concurrent program registration right yeah okay so just brush up your eNOS scripts in Excel
75:30 - 76:00 particular thing the basic command we don't require much complex commands just a basic level command you require so maybe I'll send you my the existing the bigger scripts also you can just go through them you may have America always refer to them copy paste the appropriate content so yeah so next class what we do is we'll try to finish the sequel order first then we can discuss other things