how to join below to queries in single query
Since you have different GROUPING SETS, you can use this clause:

SELECT BATCH_NUMBER   AS "BATCH NUMBER",
  ORD_NO              AS "ORDER NUMBER",
  ORD_ITEM_NO         AS "ORDER ITEM NUMBER",
  COUNT(BATCH_NUMBER) AS "BATCH COUNT",   
  SUM(IP_WT)          AS "ORDER WEIGHT",
  SUM(I.IP_WT) as "TOTAL WEIGHT" 
  CASE ORD_TYPE
    WHEN 'DOM-EXP'
    THEN 'Export to Chaina'
    WHEN 'DOM-SCS'
    THEN 'Export to USA'
    WHEN 'DOM-OEM'
    THEN 'Export to Oman'
    WHEN 'DOM-RET'
    THEN 'Export to Russia'
    WHEN 'EXPORT'
    THEN 'Export to Shri Lanka'
    ELSE 'N/A'
  END AS "ORDER TYPE" ,
  CASE PACK_TYPE
    WHEN 'EXP-STD'
    THEN 'Standard Export'
    WHEN 'DOM-STD'
    THEN 'Standard Domestic'
    ELSE 'NA'
  END AS "PACKING TYPE"
FROM HR.BAF1_PDI
GROUP BY GROUPING SETS (
    (ORD_NO, ORD_ITEM_NO,BATCH_NUMBER, ORD_TYPE, PACK_TYPE),
    (I.ORD_NO)
)


From there you can filter out any unwanted rows. A more manual version is to create union compatible results from two union legs:

SELECT BATCH_NUMBER   AS "BATCH NUMBER",
  ORD_NO              AS "ORDER NUMBER",
  ORD_ITEM_NO         AS "ORDER ITEM NUMBER",
  COUNT(BATCH_NUMBER) AS "BATCH COUNT",   
  SUM(IP_WT)          AS "ORDER WEIGHT",
  NULL as "TOTAL WEIGHT" 
  CASE ORD_TYPE
    WHEN 'DOM-EXP'
    THEN 'Export to Chaina'
    WHEN 'DOM-SCS'
    THEN 'Export to USA'
    WHEN 'DOM-OEM'
    THEN 'Export to Oman'
    WHEN 'DOM-RET'
    THEN 'Export to Russia'
    WHEN 'EXPORT'
    THEN 'Export to Shri Lanka'
    ELSE 'N/A'
  END AS "ORDER TYPE" ,
  CASE PACK_TYPE
    WHEN 'EXP-STD'
    THEN 'Standard Export'
    WHEN 'DOM-STD'
    THEN 'Standard Domestic'
    ELSE 'NA'
  END AS "PACKING TYPE"
FROM HR.BAF1_PDI
GROUP BY ORD_NO, ORD_ITEM_NO,BATCH_NUMBER, ORD_TYPE, PACK_TYPE

UNION ALL

select NULL   AS "BATCH NUMBER",
  ORD_NO              AS "ORDER NUMBER",
  NULL         AS "ORDER ITEM NUMBER",
  NULL AS "BATCH COUNT",   
  NULL          AS "ORDER WEIGHT",
  SUM(I.IP_WT) as "TOTAL WEIGHT",
  NULL AS "PACKING TYPE"
FROM HR.BAF1_PDI I GROUP BY I.ORD_NO;


A third alternaive is to use a sub-select:

SELECT BATCH_NUMBER   AS "BATCH NUMBER",
  ORD_NO              AS "ORDER NUMBER",
  ORD_ITEM_NO         AS "ORDER ITEM NUMBER",
  COUNT(BATCH_NUMBER) AS "BATCH COUNT",   
  SUM(IP_WT)          AS "ORDER WEIGHT",
  ( SELECT SUM(IP_WT) 
    FROM HR.BAF1_PDI 
    WHERE ORD_NO = I.ORD_NO ) as "TOTAL WEIGHT"
  FROM ...


A 4:th alternative is to join in the second query

SUM(IP_WT)          AS "ORDER WEIGHT",
...
X.TOTAL WEIGHT, 
...
FROM HR.BAF1_PDI
JOIN (
    select ORD_NO, SUM(IP_WT) as "TOTAL WEIGHT" 
    FROM HR.BAF1_PDI 
    GROUP BY ORD_NO
) X
    ON I.ORD_NO = X.ORD_NO
...